[過去ログ] 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(1): デフォルトの名無しさん [sage] 2016/11/06(日) 22:58:02.60 ID:dU5z27As(1) AAS
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
外部リンク:codepad.org (コンパイルもできるし出力結果も得られる[]privateをチェック)
外部リンク:ideone.com (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
2chスレ:tech
2(1): デフォルトの名無しさん [sage] 2016/11/06(日) 23:23:55.86 ID:AHO3vAwR(1) AAS
>>3-1000は射精魔
3: デフォルトの名無しさん [] 2016/11/07(月) 00:30:57.27 ID:pyn9XiBr(1) AAS
>>2
訂正しときます
次スレの>>3-1000が射精魔
4(3): デフォルトの名無しさん [sage] 2016/11/07(月) 09:27:53.95 ID:vooGYje+(1) AAS
前スレ>>999再掲
class A{
int a[2];
A(int b[])
:a(b) //error
{}
};
この:a(b)ってなにか書き方ありますか?
前スレ>>1000無理でした・・・
5: デフォルトの名無しさん [sage] 2016/11/07(月) 09:34:35.19 ID:dSd+kVnH(1/2) AAS
何がしたいのかわからないので回答しようがないな
6: デフォルトの名無しさん [sage] 2016/11/07(月) 09:36:19.79 ID:dSd+kVnH(2/2) AAS
あ、初期化子か
インデントがないから見間違えた
7: デフォルトの名無しさん [sage] 2016/11/07(月) 09:38:54.66 ID:e8hpdnod(1) AAS
引数の int b[] って int* b と同じやしなぁ
8: デフォルトの名無しさん [sage] 2016/11/07(月) 09:47:42.61 ID:HQzTq5fm(1) AAS
std::array
9: デフォルトの名無しさん [sage] 2016/11/07(月) 12:11:29.58 ID:56hqYy7l(1) AAS
C++11以降なら
A(int (&b)[2]) : a{b[0], b[1]} {}
10: デフォルトの名無しさん [sage] 2016/11/07(月) 14:52:37.34 ID:fwwW9lIx(1/2) AAS
だがint b[2][3]はポインタ引数は・・・
11(1): デフォルトの名無しさん [sage] 2016/11/07(月) 14:56:04.42 ID:6MsAvbZq(1) AAS
↑幻覚をみた糖質のつぶやき
12(2): デフォルトの名無しさん [] 2016/11/07(月) 15:00:49.14 ID:3Xim9e5h(1/2) AAS
>>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();
}
13(2): デフォルトの名無しさん [sage] 2016/11/07(月) 18:18:06.75 ID:hOJqMng1(1/4) AAS
>>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)
{
}
};
14: 13 [sage] 2016/11/07(月) 18:21:04.82 ID:hOJqMng1(2/4) AAS
2行目「6個より多く」だったね
15: デフォルトの名無しさん [sage] 2016/11/07(月) 18:44:55.40 ID:3Xim9e5h(2/2) AAS
>>13
いやいくらでも動的に増やせるんだけど初心者スレだから省略した
外部リンク:ideone.com
16(3): デフォルトの名無しさん [sage] 2016/11/07(月) 19:07:23.45 ID:hOJqMng1(3/4) AAS
要求は固定長の配列であって、動的に増やせるようにしろとは言ってないので
それのコードは非効率にしかならないと思うよ
17: デフォルトの名無しさん [sage] 2016/11/07(月) 19:25:01.70 ID:fwwW9lIx(2/2) AAS
>>11
ん?
int b[2][3];をわたせんの?
func(int a[][3]);以外で
18: デフォルトの名無しさん [sage] 2016/11/07(月) 19:50:01.21 ID:Z2RT26Su(1/2) AAS
>>16
だからvector使ってないでしょう
unique_ptrのパフォーマンス知らないの?
19(2): デフォルトの名無しさん [sage] 2016/11/07(月) 20:07:47.59 ID:Z2RT26Su(2/2) AAS
ID:hOJqMng1 の主張の変遷
1.わざと大きい初期化子を与えると実行時にアクセス違反になると主張
→だから動的に対応できるようにした
2.すると今度は非効率的だからarrayを使えという
→arrayが特に効率的なわけではないし、今度は「要求は固定長の配列だ」と言い出す
どう考えても言ってることがコロコロ変わってるんだが
20: デフォルトの名無しさん [] 2016/11/07(月) 21:12:34.93 ID:L762Pvtq(1) AAS
!!喧嘩の予感!!
21(1): デフォルトの名無しさん [sage] 2016/11/07(月) 21:25:52.93 ID:nZ1H9hgf(1) AAS
A() : a{b[0], b[1]} {}がダメだった人にC++11を押しつけてどーすんだ
>>12に至ってはもとの質問と全然関係ねーし
22: デフォルトの名無しさん [sage] 2016/11/07(月) 21:26:20.26 ID:Rr8tj+hR(1) AAS
VC++で、マウスオーバーで色が少し変わって、クリックしたら沈んだみたいになる画像ボタンを作るにはどうしたらいいですか?
23: デフォルトの名無しさん [sage] 2016/11/07(月) 22:16:57.66 ID:hOJqMng1(4/4) AAS
>>19
まず効率は動的確保を行うnewとunique_ptrより確実にarrayのほうがいい
そして>>4の要求はコードから明らかに固定長でいいと言ってる
これは私の勝手な主張ではなく元の要求がそうなってる
目的を達成するために非効率な動的確保は必要ない
私はアクセス違反になるといったが動的確保にしろとは言っておらず、動的確保にしたのはそっちが勝手にやったこと
アクセス違反を回避するために動的確保にするのは全く割に合わない
だったら長さチェックすればいいだけ
24: デフォルトの名無しさん [sage] 2016/11/07(月) 22:20:22.76 ID:JXtVbtZ4(1) AAS
>>21で結論でてるじゃねえか
C+11を押し付けてる時点でおまえら全員ダメだ!
25: デフォルトの名無しさん [sage] 2016/11/07(月) 23:34:44.46 ID:lMECrzfj(1) AAS
いいぞ、もっとやれ〜♪
上下前次1-新書関写板覧索設栞歴
あと 977 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s