C++学习笔记
文章平均质量分 70
Raymond_21
这个作者很懒,什么都没留下…
展开
-
Windows下通过CMake编译项目(2种方法)
两种在windows中cmake编译的教程原创 2022-07-27 11:53:02 · 8869 阅读 · 0 评论 -
C++ 智能指针和值语义/对象语义
1 值语义和对象语义如果一个对象能够被拷贝,其表达出的就是值语义;如果对象不能够拷贝,表达出的就是对象语义。值语义是指此对象由源对象拷贝生成,生成后与源对象完全无关,就是所谓的“深拷贝”,而对象语义也叫做指针语义、引用语义等,其含义就是由源对象拷贝出一个对象,这个对象仍与源对象共同指向同一个内存地址,就是“浅拷贝”。这时候就会出现两个问题:1)既然对象语义的对象只允许存在一个,不允许被“深拷贝”,那么该如何定义满足这种条件的对象呢?2)一个堆上的对象语义对象可以被多个指针共同指向...原创 2021-09-21 13:57:04 · 407 阅读 · 0 评论 -
C++ - 多线程 - 子线程调用的函数用引用传参
目录1.不安全情况2.相对安全的处理3.const和ref之间有什么秘密联系?1.不安全情况子线程用引用调用主线程中的变量是不安全的,尤其是在detach()的情况下,比如下面的例子:class A {public: int _m = 5; //可以把整形隐式转换成一个类对象 A(int a) :_m(a) { cout << "调用构造函数 " << "类id: " << this_thread::get_id() <&原创 2021-09-04 16:27:42 · 1262 阅读 · 0 评论 -
C++ 多线程-thread调用不同类型的函数
1.thread类的构造函数概述thread构造函数的参数是一个可变的参数模板,可用来调用各种函数且传递若干的参数。std::thread(可调用函数 , 若干个参数)其中可调用函数的类型有:1) 普通函数2) 成员函数3) 重载operator()运算符,即仿函数4) lambda表达式,即匿名函数2.普通函数void fun0() { cout << "调用普通无参函数" << endl;}void fun1(int n , strin原创 2021-09-02 18:46:56 · 2823 阅读 · 0 评论 -
C++ 函数指针
目录1.原理2.作用3.实现方法1.原理 首先明确:函数指针不用想的太复杂,就是和普通指针一样,比如我们在用普通指针指向一个整型变量时,如下方案例1,就是将int类型的指针p指向了变量a的地址。//案例1int a = 5;int *p = &a; 我们知道,数组a[10]中,a就代表了数组的首地址,函数也相同,void func()这个函数,func就是此函数的首地址。因此,函数指针就是通过定义一个返回类型和参数类型都与被指向函...原创 2021-09-02 09:34:03 · 308 阅读 · 0 评论