
c++语法
文章平均质量分 87
DongGei
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++的几种构造函数
一个构造函数接收一个不同于其类类型的形参,可以视为将其形参转换成类的一个对象。如果形参是一个对象,那么形参的值是否等于实参,取决于该对象所属的类的复制构造函数是如何实现的。如果复制构造函数随便写的,那传进去的就…运行结果:可以看到相比于第一小节的代码,这里调用了移动构造函数,减少了一次拷贝。在函数被调用时,生成的形参要用复制构造函数初始化,这会带来时间上的开销。析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀。下面这个例子是没有使用移动构造函数的,会有内存的浪费。原创 2024-11-15 16:25:31 · 470 阅读 · 0 评论 -
c++ 宏函数 inline 以及区别
宏定义的代码通常比较冗长,而内联函数则可以使用常规的C++语法编写,更加简洁易懂。另外,内联函数可以利用C++的函数重载和模板等特性,提高代码的可读性和可维护性。内联函数是在编译期间展开的,因此它可以进行更多的编译器优化,可能编译器会取消内联。每当程序中出现对该函数的调用时,C++编译器会将函数体中的代码插入到调用该函数的代码处,同时使用实参代替形参,从而使程序运行时不再进行函数调用。因为内联函数是实际函数的一份副本,可以通过调试器跟踪到内联函数的执行过程。,内联函数是有的,会比较安全;原创 2024-11-15 16:16:18 · 968 阅读 · 0 评论 -
c++多线程
如果选择异步执行策略,调用get时,如果异步执行没有结束,get会阻塞当前调用线程,直到异步执行结束并获得结果,如果异步执行已经结束,不等待获取执行结果;是 C++11 中最基本的互斥量,一个线程将mutex锁住时,其它的线程就不能操作mutex,直到这个线程将mutex解锁。原子操作确保对共享数据的访问是不可分割的,即在多线程环境下,原子操作要么完全执行,要么完全不执行,不会出现中间状态。如果选择同步执行策略,只有当调用get函数时,同步调用才真正执行,这也被称为函数调用被延迟。功能:等待异步任务完成。原创 2024-11-15 16:14:09 · 1167 阅读 · 0 评论 -
c++ 左值、右值、左值引用(&)、右值引用(&&),移动构造和std::move
左值和右值 不是等于号的左边和右边!!(一部分场景下是这样)右值可以描述成一个临时值。原创 2024-11-15 16:12:16 · 837 阅读 · 0 评论