议论一个string日常使用的高效用法
讨论一个string日常使用的高效用法
在使用 string 时,经常碰到一个问题,例如:
问题在于后面两行,无非是要把两个字符串连接起来放到一个 string 里面,但却分成两个语句来写,如果可以写成下面这样该多好啊:
但很遗憾,这是行不通的,而下面方式由于调用了两次构造函数导致效率不理想:
不知是否有高效的方式来完成这个操作:
1.逻辑上直观,即一次字符串连接,并且只一条语句。
2.效率不至于降低,即 string 仅一次构造。
------解决方案--------------------
为什么非要写成一行呢? 我感觉string一开始被发明就不是为了A=B+C这种赋值方式而存在的,如果有这种两个参数构造一个对象的形式存在那么一定会存在这种构造方式的吧,如果不想调用多次构造函数可以使用c里面的strcat。
在使用 string 时,经常碰到一个问题,例如:
const char *firstName = "liu";
const char *secondName = "de hua";
string fillName(firstName);
fillName += secondName;
问题在于后面两行,无非是要把两个字符串连接起来放到一个 string 里面,但却分成两个语句来写,如果可以写成下面这样该多好啊:
string fillName(firstName + secondName);
但很遗憾,这是行不通的,而下面方式由于调用了两次构造函数导致效率不理想:
string fillName = string(firstName) + secondName;
不知是否有高效的方式来完成这个操作:
1.逻辑上直观,即一次字符串连接,并且只一条语句。
2.效率不至于降低,即 string 仅一次构造。
string
字符串连接
------解决方案--------------------