[過去ログ]
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1478440682/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
4: デフォルトの名無しさん [sage] 2016/11/07(月) 09:27:53.95 ID:vooGYje+ 前スレ>>999再掲 class A{ int a[2]; A(int b[]) :a(b) //error {} }; この:a(b)ってなにか書き方ありますか? 前スレ>>1000 無理でした・・・ http://mevius.5ch.net/test/read.cgi/tech/1478440682/4
12: デフォルトの名無しさん [] 2016/11/07(月) 15:00:49.14 ID:3Xim9e5h >>4 C++11以降ならstd::initializer_listが使える #include <iostream> #include <initializer_list> #include <algorithm> class A { int a[6]; public: A(std::initializer_list<int> b) { std::copy(std::begin(b), std::end(b), a); } void print() const { for (int i : a) std::cout << i << std::endl; } }; int main() { A a({10, 4, 2, 8, 5, 66}); a.print(); } http://mevius.5ch.net/test/read.cgi/tech/1478440682/12
13: デフォルトの名無しさん [sage] 2016/11/07(月) 18:18:06.75 ID:hOJqMng1 >>12 それinitializer_listに6っこ以上与えたら実行時のアクセス違反になる >>4 C++11以降ならstd::array使うべき そうすれば普通に書ける class A{ std::array<int,2> a; public: A(const std::array<int,2> &b):a(b) { } }; http://mevius.5ch.net/test/read.cgi/tech/1478440682/13
23: デフォルトの名無しさん [sage] 2016/11/07(月) 22:16:57.66 ID:hOJqMng1 >>19 まず効率は動的確保を行うnewとunique_ptrより確実にarrayのほうがいい そして>>4の要求はコードから明らかに固定長でいいと言ってる これは私の勝手な主張ではなく元の要求がそうなってる 目的を達成するために非効率な動的確保は必要ない 私はアクセス違反になるといったが動的確保にしろとは言っておらず、動的確保にしたのはそっちが勝手にやったこと アクセス違反を回避するために動的確保にするのは全く割に合わない だったら長さチェックすればいいだけ http://mevius.5ch.net/test/read.cgi/tech/1478440682/23
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.033s