Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何连接Google C+;之后的字符串文本+;风格指南?_C++ - Fatal编程技术网

C++ 如何连接Google C+;之后的字符串文本+;风格指南?

C++ 如何连接Google C+;之后的字符串文本+;风格指南?,c++,C++,使用const std::string obj作为具有静态存储持续时间的对象是个坏主意,因为我们有非平凡的析构函数(它涉及静态和全局变量)。 如果我有path变量(名称空间全局)并且需要以这种方式创建路径资源变量path+“nameOfFile”(cpp文件中未命名的名称空间),那么创建字符串文本的最佳方法是什么?规范的解决方案是使用std::string\u视图: constexpr std::string_view path{"foo"}; 然后您可以使用类似于path+“bar”的东西

使用
const std::string obj
作为具有静态存储持续时间的对象是个坏主意,因为我们有非平凡的析构函数(它涉及静态和全局变量)。

如果我有
path
变量(名称空间全局)并且需要以这种方式创建路径资源变量
path+“nameOfFile”
(cpp文件中未命名的名称空间),那么创建字符串文本的最佳方法是什么?

规范的解决方案是使用
std::string\u视图

constexpr std::string_view path{"foo"};
然后您可以使用类似于
path+“bar”
的东西


另外,
std::string_view
的析构函数在和中都是微不足道的!这是因为
std::string\u视图
只是一个
(ptr,count)
。这并没有指定,但应该足以规避谷歌风格指南中不太符合逻辑的要求。

什么是
path
?使用
const char*
表示
path
,然后使用
std::string file=std::string(path)+“nameofile” C样式将是“代码”>定义路径“//”/“代码”,然后是“代码>路径“某个文件”< /代码>。谷歌C++风格指南以反C++著称。我强烈建议你远离它,除非你是被迫的。@L.F:如果存储已经为本地用户丢失了,那就没用了。公平地说,让一个全局析构函数在生命周期外引用另一个全局对象是很容易的(从通常的排序细节来看),但这是谨慎使用(或避免)静态存储持续时间比其他任何东西都重要的理由。@AlexanderMordovskiy您也可以使用GSL中的一个。