- ★初心者以前の質問に雪崩のように答えるスレ 3★ [転載禁止]©2ch.net
560 :デフォルトの名無しさん[]:2015/04/19(日) 07:28:37.90 ID:XOnDNqxY - >>558
前田陽菜
|
- C++相談室 part116 [転載禁止]©2ch.net
622 :デフォルトの名無しさん[]:2015/04/19(日) 12:20:15.38 ID:XOnDNqxY - #include <iostream>
using namespace std; struct A{ const int a[1]; constexpr auto f(){a[0]=999;} A(){f();} }; int main() { A a; cout<<a.a[0]<<endl; return 0; } 配列をコンパイル時に初期化する方法がわかりません 教えてください。
|
- C++相談室 part116 [転載禁止]©2ch.net
624 :デフォルトの名無しさん[]:2015/04/19(日) 12:42:26.23 ID:XOnDNqxY - #include <iostream>
using namespace std; struct A{ const int a[100]; constexpr auto f(){ for(int i=0;i<100;++i) a[i]=複雑な式; } A(){f();} }; int main() { A a; cout<<a.a[0]<<a.a[1]<< 〜略〜 <<endl; return 0; } イメージとしてはこんな感じです それではできません c++14なので出来ます
|
- C++相談室 part116 [転載禁止]©2ch.net
626 :デフォルトの名無しさん[]:2015/04/19(日) 16:09:51.41 ID:XOnDNqxY - #include <iostream>
using namespace std; struct A{ constexpr static int a[1]; constexpr auto f(){a[0]=999;} constexpr A(){f();} }; int main() { A a; cout<<a.a[0]<<endl; return 0; } aにイニシャライザーがないとでます コンストラクターをconstexprにすると 他の事が出来なくなります
|