
c++
文章平均质量分 63
pxisgod
这个作者很懒,什么都没留下…
展开
-
12.get_optional_long函数
get_optional_long用来获取启动选项argc: 参数个数argv: 参数列表shortopts:选项短名称,比如a:b::c(x 对应option结构中的no_argument,使用-x传参x: 对应option结构中的required_argument,使用-x=value传参x:: 对应option结构中的optional_argument, 可以使用-x传参,也可以使用-x=value传参)longopts:选项长名称。原创 2025-03-27 00:19:41 · 141 阅读 · 0 评论 -
11.时间类型
localtime返回的tm指针是static类型的,所以返回的tm是同一个,就会有线程安全问题,所有线程使用的tm都是同一个。两个时间返回的time_t是一样的,因为tm结构中有一个tm_zone结构,标注了tm时间的时区,所以都可以调整到UTC时间。localtime_r第二个参数传入一个一个tm指针,这样不同线程的tm就不再是同一个了,就不会有线程安全问题了。先将string转化成tm,再使用mktime将tm转化为time_t。timeval的tv_sec就是time_t时间。原创 2025-03-27 00:18:15 · 927 阅读 · 0 评论 -
10.c++线程&线程安全
创建线程线程休眠&让出cpu时间片线程joinable线程析构。原创 2025-03-27 00:16:07 · 812 阅读 · 0 评论 -
9.std::function使用
中括号中的参数会绑定到std::function对象内部,可以使用传引用和传值的方式传入。实参->形参:拷贝构造,形参->function对象内部:移动构造。std::function内部传入的值不会调用拷贝构造或是移动构造。std::function内部传入的值也会拷贝构造一次。不会调用对象的移动构造和拷贝构造函数。原创 2025-03-27 00:13:54 · 220 阅读 · 0 评论 -
8.c++智能指针
普通的指针很容易引起指针未释放,指针二次释放以及使用已释放指针的问题,使用智能指针不用去主动释放了,智能指针析构的时候指针就会释放。原创 2025-03-27 00:13:01 · 268 阅读 · 0 评论 -
7.c++继承&多态
无参构造函数移动构造函数拷贝构造函数可以使用=delete 来去除默认默认构造函数可以使用=default 来创建某个默认构造函数。原创 2025-03-25 17:46:14 · 335 阅读 · 0 评论 -
6.可变参数使用
原创 2025-03-25 17:44:39 · 161 阅读 · 0 评论 -
5.类型转化
标准的转化,在很多时候,不经意间就发生了,比如int类型和double类型相加时,int类型就会被隐式的转化为double类型。原创 2025-03-25 17:42:25 · 184 阅读 · 0 评论 -
4.函数结构设计
防止引用的变量被修改,一般修饰左值引用或是指针参数。原创 2025-03-25 17:41:28 · 370 阅读 · 0 评论 -
3.宏&内联函数
宏变量使用 1. 变量作为字符串存在 “xxx” ##x ”“yyy” 将组成一个字符串”xxx(x的值)yyy” 2. 如果变量前面有非特殊字符,为了防止变量不解析,需要加##来标识,一般用来作为名称的一部分使用 3. 不加 如果变量前面没有非特殊字符,变量一定可以解析,可以省略##,当然也可以不省略也没有问题原创 2025-03-25 17:39:36 · 291 阅读 · 0 评论 -
2.c++左值和右值
std::forward可以把左值引用或右值引用转换为目标类型的引用(右值引用无法转换为左值引用)std::move可以把左值引用或右值引用全部转换成右值引用。已知T的类型,求T和T&和T&&的类型。已知T和T&和T&&的类型,求T的类型。以模板函数的参数来说明。原创 2025-03-25 17:38:26 · 896 阅读 · 0 评论 -
1.c++模板&类型
类型模板非类型模板。原创 2025-03-25 17:35:48 · 470 阅读 · 0 评论