私は関係なく、彼らは何をすべきかの、そしてC++標準:ODRとconstexprのはstd :: string_view
#ifndef FOO_H_
#define FOO_H_
namespace foo {
constexpr std::string_view kSomeString = "blah";
}
#endif // FOO_H_
が含まれている、それは単一のプログラムで複数の中から.cc
ファイルをfoo.h
を含めても安全であるヘッダーfoo.h
を持っている場合kSomeString
のシンボルを使用するか、ODR違反の原因となる可能性のある用途がありますか?
また、kSomeString.data()
が.cc
ファイルに同じポインタを返すことが保証されていますか?
可能であれば、C++ standardの文言の具体的な言及を希望します。ありがとう!
これは特に 'string_view'と具体的に何が関係していますか? –
ほとんどの質問はヘッダ内の 'constexpr'宣言に関するものですが、初期化のためのC文字列の使用に関する特別な問題があります。 'constexpr int'です。 – jacobsa