[過去ログ] C++相談室 part164 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
921(1): (ワッチョイ 7a79-Idv/) 2023/10/21(土)14:25 ID:ifbOBJO10(1) AAS
>データを吸いあげて収納する
ハゲなのに5W1Hすら知らないと見える
922: (ワッチョイ 8eca-ANn9) 2023/10/21(土)19:03 ID:l7vz3TvG0(1) AAS
恥ずかしながら学生の頃はドイツ語で命名してましてねフフフ
923: (ワッチョイ 0105-SFbe) 2023/10/21(土)19:20 ID:5c+gSFSX0(1) AAS
korewahennsuudesu
924: (ワッチョイ d563-KkNu) 2023/10/21(土)20:59 ID:pQG7G9ym0(2/2) AAS
>>919
レス引用が分かりにくくてスマンカッタorz
そこではなくて挿入位置にsize()まで指定してたら末尾に要素が追加にできるところ
std::vector<int> vec = { 1, 2, 3 };
vec.insesrt(vec.begin() + vec.size(), 4);
cout << vec << endl; // ( 1 2 3 4 )
925: (ワッチョイ 6501-6i8i) 2023/10/21(土)21:41 ID:BercqiEL0(1/3) AAS
ラズパイレートでいうと
民主党政権の頃は1ドル80円だったけど
いまは1ドル200円
926: (ワッチョイ 6501-6i8i) 2023/10/21(土)21:41 ID:BercqiEL0(2/3) AAS
ラズパイレートでいうと
民主党政権の頃は1ドル80円だったけど
いまは1ドル200円
927: (ワッチョイ 6501-6i8i) 2023/10/21(土)22:50 ID:BercqiEL0(3/3) AAS
>>921
5W1HはMITが提唱したんじゃなかったっけ
928: (ワッチョイ 1590-wvhw) 2023/10/22(日)12:33 ID:x1FYC/BU0(1) AAS
変数でも関数でも
初見もしくは内容忘れた自分が
読んだとき何をやってるか分かるような名前付けが大事だと思う
よって長さは常識の範囲内なら長い方が良いかな
どうでもいいループ変数にindex2SearchArgumentHaystackとか
書いてたら殺意を覚えるけどさ
929: (オイコラミネオ MMbd-JD/u) 2023/10/22(日)17:33 ID:Ih9eQULqM(1) AAS
GetSelectedPersonDataFromLiveDBIfNotExistsReadDefaultValueFromSettingFileType2022Ex
930: (ワッチョイ 0105-SFbe) 2023/10/22(日)17:36 ID:+fVR99EM0(1) AAS
= 1 ;
931: (ワッチョイ 6501-6i8i) 2023/10/22(日)19:20 ID:/8xzlJDV0(1) AAS
モジュールはまだ使えんのか?
932(1): (ワッチョイ 8e3b-xUKY) 2023/10/22(日)20:40 ID:XK8cC57k0(1/2) AAS
リテラルで簡潔に書けるのでみんな初期化子リストばんばん使ってると思うけど
initializer_listって必ずコピーが発生するのな
non copyableなクラスが使えなくて不便なんだが、回避策ない?
933(2): (ワッチョイ 5d01-46Vy) 2023/10/22(日)20:47 ID:tZaS4o4u0(1/2) AAS
>>932
>non copyableなクラスが使えなくて不便なんだが、回避策ない?
moveすれば?
934(1): (ワッチョイ 8e01-tEca) 2023/10/22(日)23:26 ID:XK8cC57k0(2/2) AAS
>>933
できないんだよ
935(2): (ワッチョイ 5d01-46Vy) 2023/10/22(日)23:33 ID:tZaS4o4u0(2/2) AAS
>>934
???
どんなコードで問題出てるの?
936(2): (ワッチョイ 8e3b-xUKY) 2023/10/23(月)01:32 ID:sueaiNV30(1) AAS
>>935
外部リンク:wandbox.org
次のコードがコンパイルできない
struct A {
A(int) {}
A(const A&) = delete;
};
int main()
{
std::vector<A> v = { 1, 2, 3 };
}
937(1): (ワッチョイ 1998-awtI) 2023/10/23(月)05:17 ID:RG/DfB7W0(1/2) AAS
>933 >>935
外部リンク:www.google.com
クソ回答する前にググれよ
938: (ワッチョイ 5d01-46Vy) 2023/10/23(月)09:29 ID:9KLj8HWs0(1/2) AAS
>>936,937
あれ?
$ cat test.cpp
#include <iostream>
using namespace std;
struct A {
A () {cout << "construct" << endl;}
A (const A &p) = delete;
A (A &&p) {cout << "move" << endl;}
};
void func (initializer_list <A> p) {
cout << "func" << endl;
}
int main () {
A a0;
A a1;
func ({move (a0), move (a1)});
return 0;
}
$ g++ test.cpp
$ ./a.out
construct
construct
move
move
func
939(2): (ワッチョイ 5d01-46Vy) 2023/10/23(月)10:27 ID:9KLj8HWs0(2/2) AAS
だめかなぁ...
#include <vector>
struct A {
A(int) {}
A(const A&) = delete;
A(A&&) = default;
};
std::vector <A> construct (std::initializer_list <A> p) {
std::vector <A> result;
for (auto itr {p.begin ()}, end {p.end ()}; itr != end; ++ itr)
result.push_back (std::move (const_cast <A &> (*itr)));
return result;
}
int main()
{
std::vector<A> v = construct ({ 1, 2, 3 });
}
940: (ワッチョイ 4eda-CTkJ) 2023/10/23(月)11:36 ID:OKLUF2xV0(1) AAS
>>936
コピコン消したいなら代入オペレータ用意してやらんとダメだろ
941: (ワッチョイ 1a20-ANn9) 2023/10/23(月)13:23 ID:1EMVV/4H0(1) AAS
initializer_list<A&&>が作れないから波括弧初期化できないって話か
なるほどね
942: (ワッチョイ 19f4-awtI) 2023/10/23(月)19:21 ID:RG/DfB7W0(2/2) AAS
initializer_list作るとこまでは出来てもムーブで取り出せないのよ
だからvectorのコンストラクタにinitializer_listで渡すとエラー出るし、>>939のように
const外して一つずつ突っ込むとかしなきゃいけなくなる
ムーブ可能にする提案は出てるらしいけど
外部リンク[html]:cpplover.blogspot.com
943: (ワッチョイ 1909-awtI) 2023/10/24(火)05:35 ID:RZM2X1OT0(1/3) AAS
外部リンク:wandbox.org
std::vectorだからどうしようもないけど、自作クラスならinitializer_listよりも可変長テンプレートをオススメしたい
これならコピー不可(ムーブのみ)なクラスでも集成体初期化出来る
(ただしコンセプトかenable_ifでAまたはAに暗黙変換可能な型に限定すべき、enable_ifでもメタプログラミングで条件式作れる)
944: (ワッチョイ 1909-awtI) 2023/10/24(火)05:38 ID:RZM2X1OT0(2/3) AAS
あ、すまんコメントのとこだけどis_convertible_vの引数は逆だった
945: (ワッチョイ 1909-awtI) 2023/10/24(火)05:42 ID:RZM2X1OT0(3/3) AAS
もう一つ訂正すまん、集成体初期化じゃないな一様初期化かリスト初期化かorz
946(3): (スッップ Sd9a-SL8W) 2023/10/24(火)08:43 ID:NeqpGeoJd(1) AAS
教訓
std::vectorは使い物にならない
947: (ワッチョイ 5d01-46Vy) 2023/10/24(火)11:05 ID:B30+3CR30(1/3) AAS
>>946
何で?
948(1): (ワッチョイ 999f-dytz) 2023/10/24(火)11:09 ID:AiEp9cgJ0(1) AAS
もうC++の仕様拡張はもう限界なんだよ
あっちを立てればこっちが立たずが毎回問題になる
949(1): (ワッチョイ 5558-8kgw) 2023/10/24(火)11:19 ID:1IilAibW0(1) AAS
std2 作ってゼロからやり直さないと C++はどうにもならんね
950(1): (ワッチョイ 4eda-CTkJ) 2023/10/24(火)11:40 ID:nK1YbT6/0(1) AAS
iostreamの二の足を踏みそうだ
上下前次1-新書関写板覧索設栞歴
あと 52 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.028s