如果实参类型相同,可以传递一个名为initializer_list 的标准库类型
#include <initializer_list> void error_msg(initializer_list<string> il){ for ( auto beg = il.begin(); beg != il.end; ++beg) std::cout << *beg << "" ; std::cout << std::endl; }
char &get_val(string &str, string::size_type ix){ return str[ix]; } int main(){ string s("a value"); cout << s << endl; get_val(s, 0) = 'A'; cout << s << endl; return 0; }
string &shorterString(string &s1, string &s2){ auto &r = shorterString(const_cast<const string&>(&s1), const_cast<const string&>(s2)); return const_cast<string&>(r); }
包含在cassert头文件中,不建议以assert作为变量名
如果定义了#define NDEBUG 则关闭调试状态
_func_ 是编译器定义的一个局部静态变量,用于存放函数的名字
_FILE_ 存放文件名的字符串字面值
_LINE_ 存放当前行号的整形字面值
_TIME_ 存放文件编译时间的字符串字面值
_DATE_ 存放文件编译日期的字符串字面值