1- ? str::tr1、variadic templates、nullptr、auto

1、str::tr1命名空间

其中包括shared_ptr和regex,他们都被搬到str命名空间中了

 

2、https://isocpp.org/blog/2014/03/compiler-support-for-c11-and-c14

可以查看支持的情况

 

3、C++之父的网站及其它:

https://www.stroustrup.com/

cpluscplus.com,reference,tutorials家庭教师?

cppreference.com

gcc.gnu.org

 

4、标准库的源代码用什么看?

windows Grep 2.3:全文检索工具

其实vs里面也都有

 

5、 cout << __cplusplus << endl;

竟然是199711

 

 

6、variadic templates

模板里面的可变参数,这个先跳过,和printf类似,用起来应该还好

 

7、一些小的东西:

spaces in template epressions模板表达式里的空格

 

nullptr and str::nullptr_t

用 nullptr来代替0或者NULL(NULL其实就是0)

 

没有再深入decttype了

auto:用在迭代器里面比较多

 

[]开头的lambda表达式,这个是没有名称的函数

统一初始化:

之前的初始化可能发生在小括号、大括号或者赋值符号后面

 

 

 变成:只用大括号

 

 

 

arry原来这这里用的这么多 !!!

接下来是深入统一初始化,这个先只听听,不做记录,第五课开始

多余一个参数的explicit

 

 

禁止你对3个参数 的进行转换

 

 有什么容器不能让你改变元素内容?关联式容器都不可以!!   

 

C++标准库多了两个begin()和end()的全局函数

=default,=delete

 

 delete:我不要它,default:即使你定义了,我还是用默认的那一个。

big three(copy构造、copy赋值、析构)、big five。

 

 

move是什么?

 

 

 上面这个图就可以看懂了。

func用了default,这个一般的函数不可能有默认版本,所以会报错。

=default对于big-five之外的,无意义。

 

 

 默认有如上4个函数,定义一个空类后就可以直接使用。

一般来说,类中有指针,大概率就要写big three:

浅copy:只是把4个字节copy过去,两个指针指向一块内存。

深copy:把指针所指的内存也要copy一份

浅和深是针对类内有指针的情况来说的。 

单例设计模式可以被copy吗?不可以,怎么设计?

 

posted @   妖山鬼店  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示