C++高级编程学习笔记

来源:互联网 发布:av狼我们的永久域名 编辑:程序博客网 时间:2024/06/04 19:51

1、引用:&与类型一起使用来说明某个变量是一个引用,可以向使用普通变量那样使用这个变量,但是在幕后它实际上是一个指向原始变量的指针

注:引用传递与值传递有个区别,值传递可以传递敞亮,使用func(3),引用传递则不行,会导致编译错误

2、数值转换:C++11新标准增加了新的全局函数std::to_string,包括如下:

string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val)

除此之外,下面的一些函数可以将string转换为数值,str表示要转换的string,idx是一个指针,这个指针将接受第一个未转换的字符的索引,

base表示转换过程中使用的进制。idx可以是空指针,如果是空指针则被忽略。如果不能执行任何转换,这些函数会抛出invalid_argument异常,

如果转换的值超出了返回类型的范围,则抛出out_of_range异常。

int stoi(const string& str, size_t* idx=0, int base=10)

long stol(const string& str, size_t* idx=0, int base=10)

unsigned long stoul(const string& str, size_t* idx=0, int base=10)

long long stoll(const string& str, size_t* idx=0, int base=10)

unsignedlong long stoull(const string& str, size_t* idx=0, int base=10)

float stof(const string& str, size_t* idx=0, int base=10)

double stod(const string& str, size_t* idx=0, int base=10)

long double stold(const string& str, size_t* idx=0, int base=10)