C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part144
https://mevius.5ch.net/test/read.cgi/tech/1563769115/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
C++相談室 part145
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2019/09/13(金) 17:13:24.60ID:/ygW08Jq939デフォルトの名無しさん
2019/11/05(火) 20:37:36.25ID:UkGDCuYx940デフォルトの名無しさん
2019/11/05(火) 20:51:01.63ID:mHpC8FDb941デフォルトの名無しさん
2019/11/05(火) 21:09:19.41ID:uxZ9xTP+ 可愛そうなやつ…
942デフォルトの名無しさん
2019/11/05(火) 21:15:13.47ID:ZKJgPI6j 事務職だけど、C++使ってる
こんな便利なプログラミング言語があるとは
こんな便利なプログラミング言語があるとは
943蟻人間 ◆T6xkBnTXz7B0
2019/11/05(火) 21:19:49.70ID:36DcdPPB pimplesが顔に出たのは中学・高校時代だったか。
944蟻人間 ◆T6xkBnTXz7B0
2019/11/05(火) 21:23:07.90ID:36DcdPPB pointer to implementation
945デフォルトの名無しさん
2019/11/05(火) 22:48:13.18ID:5N1tjWFS946デフォルトの名無しさん
2019/11/05(火) 22:54:52.19ID:JFmkzqZr ピンプルはシンプルじゃないとダメでしょ
947デフォルトの名無しさん
2019/11/05(火) 23:19:34.53ID:+/SJ/H3y 他の言語ではprivateを隠すための努力なんてしなくていいよね
あくまでc++特有のパターンとしてpimplがある
pimplの肝は、ポインタだけなら前方宣言すればincludeしなくてOKっていう
抜け穴的なところからきていてポインタであることは妥協の産物
implクラスを変更しても互換性が保たれるというのはあくまで副次的
ゼロコストじゃないわけでc++の思想からも外れている
あくまでc++特有のパターンとしてpimplがある
pimplの肝は、ポインタだけなら前方宣言すればincludeしなくてOKっていう
抜け穴的なところからきていてポインタであることは妥協の産物
implクラスを変更しても互換性が保たれるというのはあくまで副次的
ゼロコストじゃないわけでc++の思想からも外れている
948デフォルトの名無しさん
2019/11/05(火) 23:26:17.64ID:+K1+YrIp 何をもって思想から外れていると?
C++の設計思想は最速を目指すことじゃないからな
C++の設計思想は最速を目指すことじゃないからな
949デフォルトの名無しさん
2019/11/05(火) 23:41:22.87ID:+/SJ/H3y Bjarne Stroustrupがそう言ってる
950デフォルトの名無しさん
2019/11/05(火) 23:55:16.05ID:+K1+YrIp 始まりはそうだったかも知れんが、現在の規格の設計思想は明らかに違う
951デフォルトの名無しさん
2019/11/05(火) 23:58:36.99ID:UFe3q3jM 最速を目指すって言うと少し外れてるけど、速度を重視するという所は変わってない
952デフォルトの名無しさん
2019/11/06(水) 00:01:20.76ID:x6qzxIK7 それ以上に集団での開発効率を重視したもの
>>898のような奇怪なものよりpImplの方がモダンC++の設計思想に合っているのは間違いない
>>898のような奇怪なものよりpImplの方がモダンC++の設計思想に合っているのは間違いない
953デフォルトの名無しさん
2019/11/06(水) 00:04:55.89ID:pco2p4E4 別に抜け穴でも何でもないだろ
なきゃこまるじゃん
なきゃこまるじゃん
954デフォルトの名無しさん
2019/11/06(水) 00:12:17.42ID:L0p3vvTY955デフォルトの名無しさん
2019/11/06(水) 00:18:49.38ID:L0p3vvTY956デフォルトの名無しさん
2019/11/06(水) 00:32:45.47ID:EoKh/jsd 設計の方針は曖昧なものではなく明文化されてるから調べてきてね
957デフォルトの名無しさん
2019/11/06(水) 01:17:04.07ID:mNM1KOm6 ピンプルってピンポンみたいだね
958デフォルトの名無しさん
2019/11/06(水) 01:37:31.84ID:clVAOuCS ハリソン・フォード主演映画「逃亡者」(1993年)の主人公の名前は、キンブルだったね。
この映画はサントラが良い。ジェームズ・ニュートン・ハワードが音楽担当。
このサントラの「Helicopter Chase」という曲は、「タクティクスオウガ」(1995年)というテレビゲームの「VENDETTA!」という曲によく似ている。
この映画はサントラが良い。ジェームズ・ニュートン・ハワードが音楽担当。
このサントラの「Helicopter Chase」という曲は、「タクティクスオウガ」(1995年)というテレビゲームの「VENDETTA!」という曲によく似ている。
959デフォルトの名無しさん
2019/11/06(水) 05:47:10.84ID:iGLzVPkM960デフォルトの名無しさん
2019/11/06(水) 05:56:01.23ID:iGLzVPkM961デフォルトの名無しさん
2019/11/06(水) 06:54:13.33ID:cnDla3Ge >>959
> ゼロオーバーヘッドの原則は言語が掲げるもので言語利用者を縛るものじゃねーよ
そうだよ、だからこの手の機能は言語仕様には含まれないってことな
> 実際それが便利でコストが問題にならない使い方ならどう使ってもいいだろ
誰もお前に使うななんて言ってないから使いたいなら勝手に使ってろよw
> ゼロオーバーヘッドの原則は言語が掲げるもので言語利用者を縛るものじゃねーよ
そうだよ、だからこの手の機能は言語仕様には含まれないってことな
> 実際それが便利でコストが問題にならない使い方ならどう使ってもいいだろ
誰もお前に使うななんて言ってないから使いたいなら勝手に使ってろよw
962デフォルトの名無しさん
2019/11/06(水) 07:21:04.31ID:GB7Qlzkj >>947
その主張にincludeは関係ないぞ
その主張にincludeは関係ないぞ
963デフォルトの名無しさん
2019/11/06(水) 07:24:02.54ID:hwyI/gg2 質問です。
サンプルプログラムで割り込み処理の一文で
ISR(TIMER1_CAPT_vect) {}でサブルーチンを呼び出してたんだけど、()内の意味わかりますか?
サンプルプログラムで割り込み処理の一文で
ISR(TIMER1_CAPT_vect) {}でサブルーチンを呼び出してたんだけど、()内の意味わかりますか?
964デフォルトの名無しさん
2019/11/06(水) 07:41:29.30ID:iGLzVPkM >>961
>そうだよ、だからこの手の機能は言語仕様には含まれないってことな
誰か言語仕様に含めろなんて言ってたか?
さすがに隠したいメンバをポインタ経由で隠して無駄にコストかかる言語なら俺もお断りだが
ちな俺はplmpl使いたいなどと書いてない、人の主張を勝手に捏造するな
>そうだよ、だからこの手の機能は言語仕様には含まれないってことな
誰か言語仕様に含めろなんて言ってたか?
さすがに隠したいメンバをポインタ経由で隠して無駄にコストかかる言語なら俺もお断りだが
ちな俺はplmpl使いたいなどと書いてない、人の主張を勝手に捏造するな
965デフォルトの名無しさん
2019/11/06(水) 08:14:41.32ID:N/klFKt1 あと>>961=947と想定してもう一つ言っておくと
ポインタ変数の宣言に型(クラス)の実際の定義が必要ないのは抜け穴じゃない
必要ないから要求されないだけだ
どうもC++に対する認識がおかしい気がする
D&Eでも読んでこい
ポインタ変数の宣言に型(クラス)の実際の定義が必要ないのは抜け穴じゃない
必要ないから要求されないだけだ
どうもC++に対する認識がおかしい気がする
D&Eでも読んでこい
966デフォルトの名無しさん
2019/11/06(水) 08:16:11.65ID:cnDla3Ge >>964
> 誰か言語仕様に含めろなんて言ってたか?
誰もお前が言語仕様に含めろと言ってるなんて言ってないぞ
自意識過剰すぎだろ
> ちな俺はplmpl使いたいなどと書いてない、人の主張を勝手に捏造するな
使いたい「なら」な
C++の前に日本語やり直してこいw
> 誰か言語仕様に含めろなんて言ってたか?
誰もお前が言語仕様に含めろと言ってるなんて言ってないぞ
自意識過剰すぎだろ
> ちな俺はplmpl使いたいなどと書いてない、人の主張を勝手に捏造するな
使いたい「なら」な
C++の前に日本語やり直してこいw
967デフォルトの名無しさん
2019/11/06(水) 08:17:38.83ID:cnDla3Ge968デフォルトの名無しさん
2019/11/06(水) 08:21:27.02ID:N/klFKt1 ただの荒らしなら出てけ
969デフォルトの名無しさん
2019/11/06(水) 08:31:26.58ID:zr2SzfAm970デフォルトの名無しさん
2019/11/06(水) 09:33:53.63ID:GEOrtix2 サイズの違うコンテナ同士で代入を試みたらセグメンテーション違反になったんだが、リサイズしつつ代入って簡単にできないの?
971デフォルトの名無しさん
2019/11/06(水) 09:54:01.45ID:B/9oP97H >>970 できるよ。
#include <vector>
#include <cassert>
int main()
{
std::vector v1{1}, v2{1,2};
v1 = v2;
assert(v1 == v2);
}
#include <vector>
#include <cassert>
int main()
{
std::vector v1{1}, v2{1,2};
v1 = v2;
assert(v1 == v2);
}
972デフォルトの名無しさん
2019/11/06(水) 10:35:41.19ID:GEOrtix2973デフォルトの名無しさん
2019/11/06(水) 10:42:41.76ID:rSUWYkcI そのためのstd::vectorのメンバ関数operator=だしな
974デフォルトの名無しさん
2019/11/06(水) 12:22:15.65ID:2MfY+5W5 >>968
頓珍漢な想定でくだらんことしか言えないお前が出て行けよw
頓珍漢な想定でくだらんことしか言えないお前が出て行けよw
975デフォルトの名無しさん
2019/11/06(水) 15:11:24.10ID:BVN8Da8w 今事務職であいてる時間C++やってるんだけど、事務職に特化したライブラリとかってない?
976デフォルトの名無しさん
2019/11/06(水) 15:24:12.57ID:EoKh/jsd >>975
awk,sed
awk,sed
977デフォルトの名無しさん
2019/11/06(水) 17:52:40.67ID:lpQz5w/v >>975
Excelのアドオン
Excelのアドオン
978デフォルトの名無しさん
2019/11/06(水) 18:44:11.86ID:XJugYxC8 char str[ ];
と宣言した場合、str[0] = '\0';というNULL終端をしなければなりませんが
string str[ ];
と宣言した場合は、特にNULL終端の必要性っていうのはないのでしょうか?
と宣言した場合、str[0] = '\0';というNULL終端をしなければなりませんが
string str[ ];
と宣言した場合は、特にNULL終端の必要性っていうのはないのでしょうか?
979デフォルトの名無しさん
2019/11/06(水) 19:20:03.22ID:x6qzxIK7 ?
980蟻人間 ◆T6xkBnTXz7B0
2019/11/06(水) 19:23:25.64ID:Z1hQUtYe std::stringはstd::string::c_strメソッドを使ってアクセスするとヌル終端になることが保証されている。
981デフォルトの名無しさん
2019/11/06(水) 19:45:32.35ID:o3tEvZiY char hoge[] は char の配列
別に文字列として扱う気がなければ 0 終端は必須ではない
string hoge[] は(突っ込まれるかもしれんが敢えて言うと) char[] の配列
上の char hoge[] とは別物
別に文字列として扱う気がなければ 0 終端は必須ではない
string hoge[] は(突っ込まれるかもしれんが敢えて言うと) char[] の配列
上の char hoge[] とは別物
982デフォルトの名無しさん
2019/11/06(水) 19:48:44.64ID:o3tEvZiY あと片山の答えは >>978 の回答になっていない無関係な話 (いつものことだが)
983デフォルトの名無しさん
2019/11/06(水) 19:59:36.42ID:JQYyTTQU 今やc_strでなくてもnull終端は保証されてるしな
984デフォルトの名無しさん
2019/11/06(水) 20:14:12.93ID:KdcLkZY9 char str="";で多分null終端される。
stringは多分std::stringなのでそもそも文字列ではなくアドレスを扱う。
た・・・ぶ・・・ん・・・。うぼぁあああああああ。
stringは多分std::stringなのでそもそも文字列ではなくアドレスを扱う。
た・・・ぶ・・・ん・・・。うぼぁあああああああ。
985デフォルトの名無しさん
2019/11/06(水) 20:14:31.39ID:XJugYxC8 >>978です
すみません 文字列として扱い、いきなりその変数を文字列と文字列の連携で使う場合の話です
つまり、その場合でも std::stringで宣言する場合は、"\0"で初期化する必要は無しということですね?
すみません 文字列として扱い、いきなりその変数を文字列と文字列の連携で使う場合の話です
つまり、その場合でも std::stringで宣言する場合は、"\0"で初期化する必要は無しということですね?
986デフォルトの名無しさん
2019/11/06(水) 20:16:22.14ID:KdcLkZY9 すまん書き直し。
char str[]="";で多分初期化時にnull終端される。
「string str[];」は多分std::stringの配列なのでそもそも文字列ではなくアドレスを扱う。
char str[]="";で多分初期化時にnull終端される。
「string str[];」は多分std::stringの配列なのでそもそも文字列ではなくアドレスを扱う。
987デフォルトの名無しさん
2019/11/06(水) 20:52:15.48ID:vhzIqEHb >>985
説明が上手くないからもうコードで書きなよ
説明が上手くないからもうコードで書きなよ
988デフォルトの名無しさん
2019/11/06(水) 20:56:59.66ID:y5v/16J4 ひょっとするとstd::string str[]じゃなくてstd::string strの間違いじゃないの?
989デフォルトの名無しさん
2019/11/06(水) 21:29:23.43ID:3LXwRiA7 日本語の説明よりコード片の方が多少間違っていても意図を理解できるという
990デフォルトの名無しさん
2019/11/06(水) 23:14:40.66ID:7z10T+eB char[]は文字の配列=一つの文字列でstring[]は文字列の配列だからそもそも比較するのが間違ってる
991デフォルトの名無しさん
2019/11/07(木) 06:10:28.61ID:+Fv/+mh5992デフォルトの名無しさん
2019/11/07(木) 08:06:36.36ID:N9TqrKuA アスペ多すぎ
まともな頭していればstring str;の書き間違いだってわかる
まともな頭していればstring str;の書き間違いだってわかる
993デフォルトの名無しさん
2019/11/07(木) 08:28:39.90ID:pA1g5yhx コンパイラが空気読むわけないだろ(笑)
994デフォルトの名無しさん
2019/11/07(木) 08:37:03.72ID:S+DlaQTT ・・・からけ?
995デフォルトの名無しさん
2019/11/07(木) 08:39:29.18ID:t3M9+vGM996デフォルトの名無しさん
2019/11/07(木) 08:44:57.00ID:C1GJGInU >>978です
明らかに自分が悪いです
char str[ ];
と宣言した場合、str[0] = '\0';というNULL終端をしなければなりませんが
std::string str;
と宣言した場合は、特にNULL終端の必要性っていうのはないのでしょうか?
に修正です
明らかに自分が悪いです
char str[ ];
と宣言した場合、str[0] = '\0';というNULL終端をしなければなりませんが
std::string str;
と宣言した場合は、特にNULL終端の必要性っていうのはないのでしょうか?
に修正です
997デフォルトの名無しさん
2019/11/07(木) 09:42:08.88ID:GEuBrdxx 無い
というか元々stringはC言語由来のゼロ終端とは違い、
「サイズ持ってんだから最後を示すデータは不要」という考え方だった
C++11からは利便性のためにゼロ終端が保証されてるけどユーザーが何かする必要はない
というか元々stringはC言語由来のゼロ終端とは違い、
「サイズ持ってんだから最後を示すデータは不要」という考え方だった
C++11からは利便性のためにゼロ終端が保証されてるけどユーザーが何かする必要はない
998デフォルトの名無しさん
2019/11/07(木) 09:51:34.14ID:GEuBrdxx 初心者ぽいから説明が悪かったかもしれん
クラスが内部でやってくれることなので特に何かする必要はない
けど、内部データを直接書き換えたりするとおかしなことになるので注意
クラスが内部でやってくれることなので特に何かする必要はない
けど、内部データを直接書き換えたりするとおかしなことになるので注意
999デフォルトの名無しさん
2019/11/07(木) 10:35:04.78ID:Q8xac2sp stringに対するstring_viewみたいにint配列等にたいするviewはありますか?
1000デフォルトの名無しさん
2019/11/07(木) 10:38:43.53ID:dB1QBGXo '\0' と 0 とどっち使うのが良い?
NULL は論外だよな
NULL は論外だよな
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 54日 17時間 25分 19秒
新しいスレッドを立ててください。
life time: 54日 17時間 25分 19秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【中国軍戦闘機レーダー照射】高市総理「極めて残念」中国側に強く抗議 ★2 [ぐれ★]
- 陰るスナックの灯、25年後に6割減も 私たちはどこに集うのか - 日経 [少考さん★]
- 三浦マイルド、山上被告に言及「この犯人に同情してる人 よく考えてください」北村晴男氏「まともな人間は自身の努力で人生を切り開く」 [muffin★]
- 中国軍、レーダー照射巡り反論 「日本の自衛隊機が安全脅かした」 ★4 [蚤の市★]
- ワンメーターのタクシー乗車で運転手からまさかの対応「1万円でタクシー乗っちゃダメ」に「これって私が悪い?」グラドルに同情の声 ★2 [muffin★]
- 首相の台湾答弁撤回を要求 アジア平和目指す学会が声明 (国際アジア共同体学会) [少考さん★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap615
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1823
- 競輪実況★1622
- 巨専
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap614
- 【U-NEXT】プレミアリーグ総合 ★41
- 【実況】博衣こよりのえちえちにじホロエアライダー🧪★3
- 女「ケーブルのオスメス呼びをやめろ!日本人男は下品!」 [347751896]
- 流行語大賞選考委員「高市早苗の「働いて×5」を選ばなかったら、逆にそれは偏向」 [377482965]
- 専門家「人口減少高齢化でどんどん増税と社会保障削減がやってきます。働いて働いて働いて自衛しましょう」 [819729701]
- ぺこーら軍団何故か軍団員が増えるwwww
- 石破「賃上げします。残業禁止します。減税します。備蓄米売ります。中国と程よく付き合います。戦争反対」なんで降ろしたの? [261472595]
