2016-05-10 22 views
0
static constexpr char MyCharArray[] = "yolo"; 

template<const char* CharArray> 
struct MyStruct { 
    //Do stuff 
}; 

int main() 
{ 
    MyStruct<MyCharArray> myStruct; 
} 

これはうまく動作しますが、最初の行でchar配列を 'クリーンアップ'したいと思います。それは醜いです。私のコードがまだコンパイルされ、動作するように、char配列を使う代わりに何か他の方法がありますか?おかげテンプレートパラメータへの入力としてchar配列の代わりに

+5

*何*を達成するための良い方法はありますか? – juanchopanza

+0

'char_sequence'で? – Jarod42

+0

Q:最初にテンプレートを使用するポイントは何ですか? – paulsm4

答えて

0

私はあなたのためを考え出すことができる最高:

  1. がキーワードstatic削除 - のtypedefを使用してMyCharArrayの定義を短縮することが

  2. を必要としていないが。

-

using chars = const char[]; 

constexpr chars MyCharArray = "yolo"; 

template<const char* CharArray> 
struct MyStruct { 
    //Do stuff 
}; 

int main() 
{ 
    MyStruct<MyCharArray> myStruct; 
} 
関連する問題