1. vector中的元素不可以是引用
引用不是对象,它只是为一个已经存在的对象所起的另外一个名字。
vector是对象的容器,而引用不是对象,因此组成vector的元素不能是引用。
2. 若要在在类外定义的某个类的inline成员函数,则要把定义写在和该类同一个头文件中,不要写在其他的源文件中,否则会造成链接错误
// ……
class A
{
void f();
};
// ……
inline void A::f()
{
}
3. string与int转换
1. string转int
string str;
int val = atoi(str.c_str());
//atoi() 是C标准库中的一个函数
2. int转string
//方法一:
int val = 1;
char buf[10];
_itoa_s(val, buf, 10);
string s(buf);
//itoa()是非标准C函数(部分编译器可以使用,跨平台最好不用)。三个参数分别是:要转换的int,目标字符串,转换基数(10:十进制;2:二进制……)
//方法二:
#include <sstream>
int val = 1;
stringstream stream;
stream << val;
string str = steam.str();
//使用string流
//方法三:
#include<string>
int val = 1;
string str = to_string(val);
//使用C++11新引入的to_string函数
4. 直接初始化、拷贝初始化
在初始化一个变量的时候,一般通过两种方式来初始化:
string s1