上一页 1 ··· 6 7 8 9 10 11 12 13 下一页
摘要: 6.1 使用char[]时,保证长度不要超过上限 1. 使用cin时,用string接收输入值以替代char[] 2. 使用string接受char[]时,将char[]长度赋值给string的第二参数 6.2 堤防用空指针创建string 1. std::getenv会可能返回空的char*,不要 阅读全文
posted @ 2020-06-01 19:31 Asp1rant 阅读(161) 评论(0) 推荐(0)
摘要: 闲来无事用Python写了一个成语练字的小工具,输入框输入一行汉字,然后可以生成多个成语连成这行文字,和生成藏头诗有些类似。 知识点就是爬虫的使用,本例中用requests实现爬虫,用bs4这个lib实现URL解析,pyqt实现UI 代码如下: 1 from PyQt5 import QtCore, 阅读全文
posted @ 2020-05-22 22:29 Asp1rant 阅读(532) 评论(0) 推荐(0)
摘要: 第五章 容器 5-1 确保容器索引在范围内 1. 用std::size_t代替int 2. 用模板函数接受参数,进行参数类型转换 3. 使用std::vector时,用at代替[]索引 4. 使用迭代器注意不要超限 5-2 用容器的有效引用,指针和迭代器 书中此章含有表格,详见 P164 5-3 用 阅读全文
posted @ 2020-04-29 19:14 Asp1rant 阅读(156) 评论(0) 推荐(0)
摘要: 4.1 使用枚举类型的注意事项 1.将int类型转换成枚举类型之前,需要检查int数值是否超出枚举范围 2.用enum class替代enum (Mentionded in Modern Effective C++) 3.用enum EnumType : int 定义枚举类型 阅读全文
posted @ 2020-04-17 16:34 Asp1rant 阅读(113) 评论(0) 推荐(0)
摘要: 暂时发现解决安装typescript有效 npm config set proxy null npm config set registry https://registry.npm.taobao.org/ npm config set disturl https://npm.taobao.org/ 阅读全文
posted @ 2020-04-14 22:47 Asp1rant 阅读(528) 评论(0) 推荐(0)
摘要: std::future std::future期待一个返回,从一个异步调用的角度来说,future更像是执行函数的返回值,C++标准库使用std::future为一次性事件建模,如果一个事件需要等待特定的一次性事件,那么这线程可以获取一个future对象来代表这个事件。异步调用往往不知道何时返回,但 阅读全文
posted @ 2020-04-09 22:41 Asp1rant 阅读(200) 评论(0) 推荐(0)
摘要: 本文介绍如何通过npm进行web工程的部署 一:安装npm 安装npm最简单的方法是通过nodejs官网下载最新的release,安装时会附带安装npm 在mac和linux上还可以通过brew和apt-get下载安装,网络原因本人没有成功 nodejs官方网站:http://www.nodejs. 阅读全文
posted @ 2020-04-08 18:02 Asp1rant 阅读(711) 评论(0) 推荐(0)
摘要: 3-1不要对边缘效应的调用顺序产生依赖 Side effect: Modifying an object (如 ++,--) Calling a library IO function Accessing a volatile-qualified value 避免在同一行代码中调用多次变量且含++等 阅读全文
posted @ 2020-04-07 17:17 Asp1rant 阅读(182) 评论(0) 推荐(0)
摘要: sei cert c++ 提供了一些安全c++编程的tips, 本文参照2016标准 2-1 弃用C语言的不定参函数 1.用template代替C语言的不定参函数 2.用std::enable_if处理变参长度为0的情况 2-2 下划线命名规则 1.不用下划线作头文件的宏 2.用户自定义operat 阅读全文
posted @ 2020-03-31 19:40 Asp1rant 阅读(316) 评论(0) 推荐(0)
摘要: 一:C语言中的右值概念 左值:既能出现在等号左边,又能出现在等号右边的变量(或表达式),可以寻址 右值:智能出现在等号右边的变量或表达式,无法寻址 例如:a = 10, a是左值,10就是右值 二:右值引用 rValue reference C++11中用&&代表右值引用,左值引用只能引用左值,右值 阅读全文
posted @ 2020-03-21 16:19 Asp1rant 阅读(188) 评论(0) 推荐(0)
摘要: 4:std::weak_ptr std::weak_ptr从shared_ptr产生,特性: std::weak_ptr 是一种智能指针,它对被 std::shared_ptr 管理的对象存在非拥有性(“弱”)引用。在访问所引用的对象前必须先转换为 std::shared_ptr。 std::wea 阅读全文
posted @ 2020-03-15 21:49 Asp1rant 阅读(138) 评论(0) 推荐(0)
摘要: 3. std::shared_ptr 先引入引用计数的概念 参考博客:https://blog.csdn.net/qq_29108585/article/details/78027867 简言之,当新建一个shared_ptr对象时,内存中会开辟一个区域来记录引用次数 引用计数会因如下原因增加: 用 阅读全文
posted @ 2020-03-11 20:36 Asp1rant 阅读(150) 评论(0) 推荐(0)
摘要: 智能指针的最主要作用还是自动释放资源,常用3种智能指针:unique_ptr, shared_ptr, weak_ptr 1. auto_ptr c++98中提供了一种指针容器auto_ptr,基本已弃用,具有如下几个特性: (1)无引用计数 (2)不能指向数组 (3)不能放入容器中使用 2. un 阅读全文
posted @ 2020-03-10 20:36 Asp1rant 阅读(201) 评论(0) 推荐(0)
摘要: 本文描述用std::atomic实现线程资源互锁 std::atomic用于实现程序里的原子操作,有关原子操作在《C++ Concurrency in Action》中的介绍: 原子操作是一类不可分割的操作,当这样操作在任意线程中进行一半的时候,你是不能查看的;它的状态要不就是完成,要不就是未完成。 阅读全文
posted @ 2020-03-06 20:47 Asp1rant 阅读(207) 评论(0) 推荐(0)
摘要: 本文将介绍C++11中实现并发以及用mutex实现资源互锁。 先强化一下并发的概念, 下图介绍了一个计算机处理恰好两个任务时的理想情景,每个任务被分为10个相等大小的 块。在一个双核机器(具有两个处理核心)上,每个任务可以在各自的处理核心上执行。在单核 机器上做任务切换时,每个任务的块交织进行。但它 阅读全文
posted @ 2020-03-05 16:02 Asp1rant 阅读(507) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 下一页