智能指针作为C++11里的新特征,有可能在面试里被问到。本文主要介绍C++里的三个智能指针:shared_ptr
、unique_ptr
、weak_ptr
。其实还有一种auto_ptr
指针,但在C++11里已经被弃用了,故此我们不做讨论了。
很想写一篇文章来谈一下C/C++中的char和string,顺带也可以说一下python中的string,因为我学习语言的顺序是先学了C再学python然后学C++,一开始对这两个数据类型并没有很敏感,前几天在用C写代码的时候,发现在使用char *和char ch[]的时候有些模糊,而且在给它们初始化或者赋值的时候也会出错。在传统的C里面,我们可以初始化一个定长的char数组,但不能直接给一个定长的char数组赋值:
1 | char ch[20] = "Hello,world!"; // valid |
编译器会提示你: