c++学习笔记

1、在vector中,添加类的对象时, 相比于push_back,emplace_back可以避免额外类的复制和移动操作.。

2、std::unique_lock 与 std::lock_guard 都可以对mutex上锁,当条件变量在等待中,std::unique_lock会释放锁。

3、static_assert 在编译的时候就可以做判断,c语言的assert是在运行的时候。

4、如果子类的构造函数参数只有int a;那么子类对象的生成的时候,那么先调用父类不带参数的的构造函数,在到子类带参数的构          造函数。

5、defaulted 跟 deleted 可以修饰特殊的类方法,比如说构造函数等。

6、增强for循环。

7、lambda表达式。

8、auto 

9、for(;;)和while(true)都是无限循环,但是for的方式效率高,从汇编代码看出来的。

10、setjmp()宏把当前状态信息保存到env中,供以后longjmp()恢复状态信息时使用。如果是直接调用setjmp(),那么返回值为0;如果是由于调用longjmp()而调用setjmp(),那么返回值非0。setjmp()只能在某些特定情况下调用,如在if语句、 switch语句及循环语句的条件测试部分以及一些简单的关系表达式中。

11、编译器预定义的宏 。

      (1) __LINE__:在源代码中插入当前源代码行号;

      (2)__FILE__:在源文件中插入当前源文件名;

       (3)__DATE__:在源文件中插入当前的编译日期

      (4)__TIME__:在源文件中插入当前编译时间;

        (5) __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;

         (6)__cplusplus:当编写C++程序时该标识符被定义。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值