[英]Alternative to char array as input to template parameter
static constexpr char MyCharArray[] = "yolo";
template<const char* CharArray>
struct MyStruct {
//Do stuff
};
int main()
{
MyStruct<MyCharArray> myStruct;
}
這很好用,但是我想在第一行中“清理”我的char數組。 這很丑。 是否有使用char數組的替代方法,這樣我的代碼仍然可以編譯和運行。 謝謝
我能為您想出的最好的方法是:
刪除關鍵字static
不需要
通過使用typedef縮短MyCharArray
的定義。
--
using chars = const char[];
constexpr chars MyCharArray = "yolo";
template<const char* CharArray>
struct MyStruct {
//Do stuff
};
int main()
{
MyStruct<MyCharArray> myStruct;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.