
风格字符串
std::format比printf更类型安全,因其在编译期进行类型推导、参数匹配和格式验证,不匹配即报错;支持自定义类型特化formatter、空指针安全、宽字符/UTF-8/chrono原生支持,...
try-catch基本写法是用try包裹可能抛异常代码,catch按顺序精确匹配异常类型(支持派生类基类隐式转换),推荐使用const引用避免切片和拷贝;无匹配时栈展开,最终调用std::termin...
c_str()返回的指针不能长期持有,因其不拥有内存所有权,有效性依赖原string的生命期和未修改状态,一旦string析构、移动或修改即悬空;必须用于需null-terminated字符串的CAP...
str_getcsv()的$escape参数并不用于转义分隔符,而是用于转义引号内的特殊字符(如引号本身);若需让分隔符被忽略,应使用enclosure字符将其包裹,而非依赖反斜杠转义。
str_getcsv()的$escape参数不用于转义分隔符,而是用于转义enclosure内的引号;若需保留分隔符字符(如.),应使用enclosure(如单引号)将其包裹,而非依赖反斜杠转义。
C++宽字符(wchar_t)非通用Unicode类型,Windows用UTF-16(16位),Linux/macOS用UTF-32(32位),跨平台不可移植;应优先选用UTF-8编码的std::st...
std::string是C++处理文本的核心工具,提供构造、赋值、访问、修改、查找、替换、子串提取等丰富操作,支持+=、+、append()、stringstream等多种拼接方式,适用于各类字符串处...
std::string的length()和size()完全等价,均返回字符个数且底层调用同一函数;不可与C风格strlen()混淆,后者仅适用于以‘\0’结尾的char*。
str_getcsv()的$escape参数并不用于转义分隔符(如.),而是用于转义引号内的特殊字符(如引号本身);若需保留分隔符字面量,应使用enclosure字符将其包裹,而非依赖反斜杠转义。
该用for(auto&x:container)而非for(autox:container)时:拷贝代价高(如std::string、大结构体)需避免构造/析构开销;只读遍历优先用constau...