次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
http://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C++相談室 part138
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スフッ Sd9f-fGne)
2018/08/05(日) 18:02:36.57ID:DigzqJtZd460デフォルトの名無しさん (ワッチョイ 07b0-S/NQ)
2019/09/28(土) 15:35:18.31ID:urQdgSwI0 >>453が言っているのは異なるコンパイル単位で別の定義を使うという話じゃなくて宣言と定義だろ?
461デフォルトの名無しさん (オイコラミネオ MM1f-NfUm)
2019/09/28(土) 16:05:06.02ID:CrZkyiYlM こういうケースの話だとは思うけど
struct A;
class A
{
int a;
};
コンパイラがどう解釈するかは決まってるのかなこれ
struct A;
class A
{
int a;
};
コンパイラがどう解釈するかは決まってるのかなこれ
462デフォルトの名無しさん (ワッチョイ c71f-n9TO)
2019/09/28(土) 16:07:59.85ID:YjLwj0vT0 エラー出すんじゃないの?
463デフォルトの名無しさん (ワッチョイ c7e8-upKm)
2019/09/28(土) 16:38:02.11ID:E6lKnilk0 c++17のfilesystemで、windowsの「マイドキュメント」とか展開するときってどうやるん?
自分は、日和ってWindowsの関数使ったんだけど。
自分は、日和ってWindowsの関数使ったんだけど。
464デフォルトの名無しさん (ワッチョイ 5f01-ZxQK)
2019/09/28(土) 17:06:13.76ID:xM8alBMg0 >>459
リンクって何やる処理かご存知?
リンクって何やる処理かご存知?
465デフォルトの名無しさん (ワッチョイ c7e8-upKm)
2019/09/28(土) 18:27:19.82ID:E6lKnilk0 C++のclassとstructの違いはデフォルトのアクセス権が、
class : private
struct : public
ということでしかなくて、アクセス権を追加するのは両方できる。
さらに継承もできる。
class : private
struct : public
ということでしかなくて、アクセス権を追加するのは両方できる。
さらに継承もできる。
466デフォルトの名無しさん (ワッチョイ 5f7c-5975)
2019/09/28(土) 18:44:36.11ID:dulQ4DqV0 継承の時デフォルトがpublicかprivateかもあったような?
467デフォルトの名無しさん (ワッチョイ c7e8-upKm)
2019/09/28(土) 18:50:19.34ID:E6lKnilk0 >>466
それは、クラスはprivateで、構造体はpublicで継承されたと思う。基本値として。
それは、クラスはprivateで、構造体はpublicで継承されたと思う。基本値として。
468デフォルトの名無しさん (ワッチョイ c7c3-+MBy)
2019/09/28(土) 18:53:35.09ID:X/zAGzhO0 >>461
決まっている
規格上は宣言時structだろうがclassだろうが完全に同じ扱い
msvcは同一コンパイル単位では警告出してくるし、別れているとマングリングが変わるせいで引数にポインタや参照が含まれる関数などがある場合、linkが出来なくなる
決まっている
規格上は宣言時structだろうがclassだろうが完全に同じ扱い
msvcは同一コンパイル単位では警告出してくるし、別れているとマングリングが変わるせいで引数にポインタや参照が含まれる関数などがある場合、linkが出来なくなる
469デフォルトの名無しさん (ワッチョイ 47f6-rP+5)
2019/09/28(土) 19:44:13.97ID:atv/D1Wn0 classで宣言したものを、
わざわざstructで定義する必要性って
どんな時に出てくるんだ?
関数の仮引数を[]で宣言して
わざわざ*で定義する必要性なら
まあ出てくることもあるが
わざわざstructで定義する必要性って
どんな時に出てくるんだ?
関数の仮引数を[]で宣言して
わざわざ*で定義する必要性なら
まあ出てくることもあるが
470デフォルトの名無しさん (ワッチョイ 077b-88hv)
2019/09/28(土) 19:51:09.64ID:8mEfdn9E0471デフォルトの名無しさん (ワッチョイ 5f6e-kLFp)
2019/09/28(土) 20:23:29.91ID:LuoDMBWx0 アンチMSにとっては挙動が他と少しでも違えば気に入らないんだろうさ
472デフォルトの名無しさん (ワッチョイ 5f61-81Gp)
2019/09/28(土) 21:37:11.39ID:lqPuvWRw0473デフォルトの名無しさん (ワッチョイ c7c3-+MBy)
2019/09/28(土) 21:47:31.84ID:X/zAGzhO0474デフォルトの名無しさん (ワッチョイ 077b-88hv)
2019/09/28(土) 22:00:22.50ID:8mEfdn9E0 >>473
そういう問題ではなくて、
静的言語のメリットは、プログラマの明確な間違い=タイポや型違いをコンパイル時に落とせる事でもあるだろ。
structとclassを間違えているのならコンパイルエラーにすべき、というのがお前以外の他全員だと思うが。
そういうどうでもいいところにこだわりすぎてるから上達してないのだと思うぞ。
そういう問題ではなくて、
静的言語のメリットは、プログラマの明確な間違い=タイポや型違いをコンパイル時に落とせる事でもあるだろ。
structとclassを間違えているのならコンパイルエラーにすべき、というのがお前以外の他全員だと思うが。
そういうどうでもいいところにこだわりすぎてるから上達してないのだと思うぞ。
475デフォルトの名無しさん (ワッチョイ c7e8-upKm)
2019/09/28(土) 22:02:55.72ID:E6lKnilk0 勝手に総意を語らないでください。
structとclassは同じ文脈で使われることもそれなりにあるので、
どう判断したら文脈的に正しいと思いますか?
structとclassは同じ文脈で使われることもそれなりにあるので、
どう判断したら文脈的に正しいと思いますか?
476デフォルトの名無しさん (ワッチョイ 077b-88hv)
2019/09/28(土) 22:12:35.78ID:8mEfdn9E0 >>475
まあお前の意見が違うのは分かった。
普通の人は、VCの動作で全く問題ないと思うが。
実際誰も擁護もしないし、必要性もないだろ。
逆にstructとclassを混ぜてる糞ソースでドヤア出来る感覚は頭おかしいと思うが。
まあお前の意見が違うのは分かった。
普通の人は、VCの動作で全く問題ないと思うが。
実際誰も擁護もしないし、必要性もないだろ。
逆にstructとclassを混ぜてる糞ソースでドヤア出来る感覚は頭おかしいと思うが。
477デフォルトの名無しさん (ワッチョイ 5f01-S/NQ)
2019/09/28(土) 22:23:14.45ID:xM8alBMg0 間違いで起きるかそれ?
それが起きるとしたら、同名だけど中身が全く違うものをincludeしてる状態だろ
class/sturctの違いだけ気づけてもありがたみない
それが起きるとしたら、同名だけど中身が全く違うものをincludeしてる状態だろ
class/sturctの違いだけ気づけてもありがたみない
478デフォルトの名無しさん (ワッチョイ 077b-88hv)
2019/09/28(土) 22:34:45.68ID:8mEfdn9E0 >>477
間違いではなくて、
書いてる本人が同じ物にstructとclassを混ぜて使っており、
その本人がそれでいいと思っているケースだろ。
少なくとも ID:X/zAGzhO0 と ID:E6lKnilk0 はそうなんだろ。
> 同名だけど中身が全く違うものをincludeしてる状態
これはほぼ間違いなくコンパイルエラーで落ちるから、それで問題ないと思うが。
間違いではなくて、
書いてる本人が同じ物にstructとclassを混ぜて使っており、
その本人がそれでいいと思っているケースだろ。
少なくとも ID:X/zAGzhO0 と ID:E6lKnilk0 はそうなんだろ。
> 同名だけど中身が全く違うものをincludeしてる状態
これはほぼ間違いなくコンパイルエラーで落ちるから、それで問題ないと思うが。
479デフォルトの名無しさん (ワッチョイ 7f7b-Z/MO)
2019/09/28(土) 22:44:30.75ID:2zqklXVt0 警告出されないほうが困る事のが多そうだけどな
どっちで定義するつもりだったのかわからんもん
どっちで定義するつもりだったのかわからんもん
480デフォルトの名無しさん (ワッチョイ 5f61-81Gp)
2019/09/28(土) 22:49:07.22ID:lqPuvWRw0 C++では、constが付いているかいないかでも、関数のmangling名が
違うので、リンク段階でエラーが出る。
こっちのエラーも余り深く考えたことが無いけれど、似たような意味で
structとclassが違っていればリンク段階でエラーになるようになっている
気がする。つまり、const属性の違いの混乱が起きていてもエラーになるが、
似たような意味でアクセス属性の違いでもエラーになるようになっている。
普通、ライブラリに対応するヘッダファイルを正しく #include していれば、
このような現象は生じないが、新しく追加された関数のプロトタイプ宣言が
無い場合に自分で、ネットにあったプロトタイプ宣言をコピーしてきたような
場合にconst属性の違いが生じることがあるかも。
それと同様に、自分で作ってるアプリの *.cpp と *.h で、勘違いして
class型の完全定義をstruct型で不完全定義してしまっているとか。
そういうのは中身まで間違っていることもあるので、リンク段階でエラーになった
方が、原因不明のエラーを防ぐのに有効だと思われる。
違うので、リンク段階でエラーが出る。
こっちのエラーも余り深く考えたことが無いけれど、似たような意味で
structとclassが違っていればリンク段階でエラーになるようになっている
気がする。つまり、const属性の違いの混乱が起きていてもエラーになるが、
似たような意味でアクセス属性の違いでもエラーになるようになっている。
普通、ライブラリに対応するヘッダファイルを正しく #include していれば、
このような現象は生じないが、新しく追加された関数のプロトタイプ宣言が
無い場合に自分で、ネットにあったプロトタイプ宣言をコピーしてきたような
場合にconst属性の違いが生じることがあるかも。
それと同様に、自分で作ってるアプリの *.cpp と *.h で、勘違いして
class型の完全定義をstruct型で不完全定義してしまっているとか。
そういうのは中身まで間違っていることもあるので、リンク段階でエラーになった
方が、原因不明のエラーを防ぐのに有効だと思われる。
481デフォルトの名無しさん (ワッチョイ 47f6-rP+5)
2019/09/28(土) 22:50:49.47ID:atv/D1Wn0 structとclassで多重定義できるべきとでも言いたいのか?
482デフォルトの名無しさん (ワッチョイ 07b0-S/NQ)
2019/09/28(土) 22:51:32.96ID:urQdgSwI0 コードスメル的な問題はあるとしても実害は考えられないのでは?
483デフォルトの名無しさん (ワッチョイ 5f01-S/NQ)
2019/09/28(土) 22:54:02.47ID:xM8alBMg0 で、VCの仕様で助かった経験のある人いんの?
class/structの違いは単なる表面的なsyntaxの違いでしかないと理解するのは自然
それが実はバイナリに影響してるってのはいらぬ驚き
という主張はおれはわかる
別にVCの仕様がおかしいとは言わないが何か防御に役立つとは思えない
class/structの違いは単なる表面的なsyntaxの違いでしかないと理解するのは自然
それが実はバイナリに影響してるってのはいらぬ驚き
という主張はおれはわかる
別にVCの仕様がおかしいとは言わないが何か防御に役立つとは思えない
484デフォルトの名無しさん (ワッチョイ 077b-88hv)
2019/09/28(土) 22:57:28.76ID:8mEfdn9E0485デフォルトの名無しさん (ワッチョイ c7e8-upKm)
2019/09/28(土) 22:59:07.82ID:E6lKnilk0 自分のポリシーとしては、
構造体は変数のブロック用程度にしか考えないし、ユーティリティ作るときはclass使う。
だから、構造体使うときは、アラインとか気を使う。クラスはどうでもいい。
構造体は変数のブロック用程度にしか考えないし、ユーティリティ作るときはclass使う。
だから、構造体使うときは、アラインとか気を使う。クラスはどうでもいい。
486デフォルトの名無しさん (ワッチョイ 077b-88hv)
2019/09/28(土) 23:00:07.72ID:8mEfdn9E0 >>483
むしろお前は混ぜていい仕様で助かっているのか?
むしろお前は混ぜていい仕様で助かっているのか?
487デフォルトの名無しさん (ワッチョイ 7f7b-Z/MO)
2019/09/28(土) 23:00:21.59ID:2zqklXVt0 本来privateであるべきところがpublicになっててアクセスできるのは起こり得るんじゃないの
>>483
混ぜる必要がないし混ざらないほうがいいと思うけど
まず宣言と定義でごっちゃになることがないから実害食らったひとはいなさそうだけど
>>483
混ぜる必要がないし混ざらないほうがいいと思うけど
まず宣言と定義でごっちゃになることがないから実害食らったひとはいなさそうだけど
488デフォルトの名無しさん (ワッチョイ 47f6-rP+5)
2019/09/28(土) 23:02:53.00ID:atv/D1Wn0 >>486
ニホンゴワカリマスカ?
ニホンゴワカリマスカ?
489デフォルトの名無しさん (ワッチョイ c7c3-+MBy)
2019/09/28(土) 23:03:40.64ID:X/zAGzhO0 >>459
こそ勘違いの最足るものだろうに
structとclassは定義時のデフォルトがpublicになるか否か以外言語仕様上違いが無いんだよ
struct A;
class A;
どちらもクラスAの宣言
こそ勘違いの最足るものだろうに
structとclassは定義時のデフォルトがpublicになるか否か以外言語仕様上違いが無いんだよ
struct A;
class A;
どちらもクラスAの宣言
490デフォルトの名無しさん (ワッチョイ 5f01-S/NQ)
2019/09/28(土) 23:03:45.92ID:xM8alBMg0491デフォルトの名無しさん (アウアウカー Sa9b-4W5P)
2019/09/28(土) 23:08:03.45ID:LlqNH2NPa 前方宣言でclassとstructを変えることによるメリットは?
492デフォルトの名無しさん (ワッチョイ 0701-srNF)
2019/09/28(土) 23:08:10.20ID:eyOXXdxS0 こんな糞議論しなきゃならん時点で有害だわ
493デフォルトの名無しさん (ワッチョイ c7c3-+MBy)
2019/09/28(土) 23:11:12.80ID:X/zAGzhO0 むしろ合わせなきゃいけない意味がわからん
他人のカスタマイズ用のtemplate classでそれがclassだったかstructだったかを正しく覚えてなきゃいけないとか
他人のカスタマイズ用のtemplate classでそれがclassだったかstructだったかを正しく覚えてなきゃいけないとか
494デフォルトの名無しさん (ワッチョイ 5f77-4W5P)
2019/09/28(土) 23:15:06.74ID:y4xgEID10 使うだけならclassかstructか書く必要ないし修正を加えるなら必然的にソースコード見るだろ
495デフォルトの名無しさん (ワッチョイ c7c3-+MBy)
2019/09/28(土) 23:20:24.74ID:X/zAGzhO0 いやだから特殊化するときだって
496デフォルトの名無しさん (ワッチョイ 5f61-81Gp)
2019/09/28(土) 23:39:09.23ID:lqPuvWRw0 Aaaa を完全定義をする前に Aaaa 型へのポインタを宣言したい場合に不完全定義として
struct Aaaa;
としておき、後から完全定義として
class Aaaa {
int data1; // class なのでデフォルトのアクセス属性は private 属性。
・・・
};
を与えた時、struct と class の違いでエラーにするかどうかの議論ですね。
そして、完全定義したときにだけしか、デフォルトのアクセス制御の public/private の違いは
出てこないので、エラーにする必要が特に無い、という説が出てきていると。
struct Aaaa;
としておき、後から完全定義として
class Aaaa {
int data1; // class なのでデフォルトのアクセス属性は private 属性。
・・・
};
を与えた時、struct と class の違いでエラーにするかどうかの議論ですね。
そして、完全定義したときにだけしか、デフォルトのアクセス制御の public/private の違いは
出てこないので、エラーにする必要が特に無い、という説が出てきていると。
497デフォルトの名無しさん (ワッチョイ 5f6e-kLFp)
2019/09/28(土) 23:52:31.71ID:LuoDMBWx0 極めてくだらない話題だね
498デフォルトの名無しさん (ワッチョイ 5f3d-HmT3)
2019/09/29(日) 00:41:54.75ID:7gP8emxb0499デフォルトの名無しさん (ワッチョイ 5f3d-HmT3)
2019/09/29(日) 00:42:57.02ID:7gP8emxb0 名前が衝突した異なる型として
500デフォルトの名無しさん (アウアウウー Sa8b-Sxlc)
2019/09/29(日) 00:49:05.52ID:sIVLKl19a ちょっと関係ある話なんだけどマングリングていう単語、なんかちょっとエロ要素あるよね
501デフォルトの名無しさん (ワッチョイ c7e8-upKm)
2019/09/29(日) 01:54:53.34ID:hPYugyVf0 pimpleやるときは前方宣言無いと辛いと思う。
502デフォルトの名無しさん (ワッチョイ c7e8-upKm)
2019/09/29(日) 02:00:50.57ID:hPYugyVf0 前方宣言でclassとstructが違うとユーザーコード書くとき気持ち悪くね?
503デフォルトの名無しさん (ワッチョイ 47f6-rP+5)
2019/09/29(日) 07:26:51.75ID:MP9GBJ110 ピンプるときは宣言を書いたのと同一人物が定義も書くだろ
そこで間違えるとしたら相当に頓馬なやつだぞ
自分の癖さえ忘れるのは認知症だぜ
# hashを特殊化するときなんかは間違えないように気をつけている
そこで間違えるとしたら相当に頓馬なやつだぞ
自分の癖さえ忘れるのは認知症だぜ
# hashを特殊化するときなんかは間違えないように気をつけている
504デフォルトの名無しさん (ワッチョイ 5f61-81Gp)
2019/09/29(日) 09:31:02.95ID:sih8o/+S0 >>498
むしろ、完全定義されていない限りメンバ関数もメンバ変数も何一つ
使えないために、private/publicのデフォルト・アクセス属性の違いの
影響がでないからこそ、完全定義より前の不完全定義は、structと
classの違いを問わないでいいとも考えられる。
むしろ、完全定義されていない限りメンバ関数もメンバ変数も何一つ
使えないために、private/publicのデフォルト・アクセス属性の違いの
影響がでないからこそ、完全定義より前の不完全定義は、structと
classの違いを問わないでいいとも考えられる。
505デフォルトの名無しさん (ワッチョイ 5f3d-HmT3)
2019/09/29(日) 12:45:52.46ID:7gP8emxb0 >>504
型付き言語は型に関するプログラマーの間違いを指摘するのが優先
型推論が行えるときに型推論してタイピング量を減らせる手段「も」提供するのが第二優先
この優先順序を取り違えて良いものなら型無し言語を選択するほうが合理的である
つまり型付き言語のコンパイラーが型の誤り(デフォルト公開属性がpublicなstructとprivateなclass間の誤り)を
許すような振る舞いをするのは、現実に問題にならないとしても、道理に合わない
型の名前だけ宣言したくてclassかstructかの違いはどうでも良いなら、そういう意味のキーワードが用意されるべきなんじゃ
型付き言語は型に関するプログラマーの間違いを指摘するのが優先
型推論が行えるときに型推論してタイピング量を減らせる手段「も」提供するのが第二優先
この優先順序を取り違えて良いものなら型無し言語を選択するほうが合理的である
つまり型付き言語のコンパイラーが型の誤り(デフォルト公開属性がpublicなstructとprivateなclass間の誤り)を
許すような振る舞いをするのは、現実に問題にならないとしても、道理に合わない
型の名前だけ宣言したくてclassかstructかの違いはどうでも良いなら、そういう意味のキーワードが用意されるべきなんじゃ
506デフォルトの名無しさん (ワッチョイ 5f01-S/NQ)
2019/09/29(日) 12:53:43.24ID:C35/CdkS0 classに関するc++の言語仕様とそのグレーゾーンのコンパイラ依存の話であって
型付き言語のあるべき論語ったところでしょうがないでしょ
本来言語仕様でstructとclassは型的に同じか否かが明言されてればそれで終了の話
道理はどちらでも通る
型付き言語のあるべき論語ったところでしょうがないでしょ
本来言語仕様でstructとclassは型的に同じか否かが明言されてればそれで終了の話
道理はどちらでも通る
507デフォルトの名無しさん (ワッチョイ c7c3-+MBy)
2019/09/29(日) 13:01:37.41ID:OYiClG3B0 言語仕様上は同じであることが明記されているし、それは書籍やweb上でも触れられている
重箱の隅ではなく常識として理解していたのだが
同じだと覚えて、その通りに使ったのに、msvcに移植する段になって奇妙な現象として実体化するのが問題
重箱の隅ではなく常識として理解していたのだが
同じだと覚えて、その通りに使ったのに、msvcに移植する段になって奇妙な現象として実体化するのが問題
508デフォルトの名無しさん (ワッチョイ 5f3d-HmT3)
2019/09/29(日) 13:14:20.90ID:7gP8emxb0 >>506
>classに関するc++の言語仕様とそのグレーゾーンのコンパイラ依存の話
non
カプセル化の遵守を口にしつつ、前方宣言の記述をちょっとサボりたいがだけのために
デフォルト公開属性がpublicなstructと
デフォルト公開属性がprivateなclassをad-hocに同一視するええかげんな体系が有り得るのかという話
同一視する意図が無くかつ名前だけの前方宣言をしたいならば、名前だけ宣言する意味のキーワードでやれば無問題
無理矢理別の意味がまとわりついたキーワードを流用するのでは
コンパイラもコードを書いたプログラマーも表現を全うしたことにならず気持ち悪かろう
>classに関するc++の言語仕様とそのグレーゾーンのコンパイラ依存の話
non
カプセル化の遵守を口にしつつ、前方宣言の記述をちょっとサボりたいがだけのために
デフォルト公開属性がpublicなstructと
デフォルト公開属性がprivateなclassをad-hocに同一視するええかげんな体系が有り得るのかという話
同一視する意図が無くかつ名前だけの前方宣言をしたいならば、名前だけ宣言する意味のキーワードでやれば無問題
無理矢理別の意味がまとわりついたキーワードを流用するのでは
コンパイラもコードを書いたプログラマーも表現を全うしたことにならず気持ち悪かろう
509デフォルトの名無しさん (ワッチョイ 5f3d-HmT3)
2019/09/29(日) 13:15:48.60ID:7gP8emxb0510デフォルトの名無しさん (ワッチョイ 5f01-S/NQ)
2019/09/29(日) 13:17:48.47ID:C35/CdkS0 >>508
gcc/clangでは通ること把握してるか?
gcc/clangでは通ること把握してるか?
511デフォルトの名無しさん (ワッチョイ 5f01-S/NQ)
2019/09/29(日) 13:29:13.33ID:C35/CdkS0 >>508
> カプセル化の遵守を口にしつつ、前方宣言の記述をちょっとサボりたいがだけのために
なんかお前は大きな勘違いしてる気がしてならないんだけど
前方宣言でclassと書こうかstructと書こうがカプセル化に何も影響ないだろ
なにがサボリなんだ?
classのかわりにstructと書いたらむしろ1文字多いのだが
> カプセル化の遵守を口にしつつ、前方宣言の記述をちょっとサボりたいがだけのために
なんかお前は大きな勘違いしてる気がしてならないんだけど
前方宣言でclassと書こうかstructと書こうがカプセル化に何も影響ないだろ
なにがサボリなんだ?
classのかわりにstructと書いたらむしろ1文字多いのだが
512デフォルトの名無しさん (ワッチョイ bfad-S/NQ)
2019/09/29(日) 13:32:40.67ID:qbYXpMyS0 C++例外の功罪について騙りたい。
513デフォルトの名無しさん (ワッチョイ 5f52-k+Ie)
2019/09/29(日) 13:37:04.22ID:k4CvVXqN0 >>512
語るのはいいが騙るなよ
語るのはいいが騙るなよ
514デフォルトの名無しさん (ワッチョイ 5f52-k+Ie)
2019/09/29(日) 13:39:29.17ID:k4CvVXqN0 >>508
C/C++には安易に予約語を増やさないというポリシーがあったと思うし、こんなレアで下らない例外ケースのために予約語を増やすのは賛同されないだろうよ。
C/C++には安易に予約語を増やさないというポリシーがあったと思うし、こんなレアで下らない例外ケースのために予約語を増やすのは賛同されないだろうよ。
515デフォルトの名無しさん (ワッチョイ 5ff9-kLFp)
2019/09/29(日) 13:40:32.98ID:eQVILPNx0 >言語仕様上は同じであることが明記されているし、
これが本当なら、とっくに規格厨が該当箇所を引用してくれてそうなんだけど
これが本当なら、とっくに規格厨が該当箇所を引用してくれてそうなんだけど
516デフォルトの名無しさん (ワッチョイ 5f61-81Gp)
2019/09/29(日) 13:54:55.39ID:sih8o/+S0 >>508
>カプセル化の遵守を口にしつつ、前方宣言の記述をちょっとサボりたいがだけのために
不完全定義の主な目的は完全定義をサボるためではありません。
自己参照や、2つの構造体 A, B が有った場合、お互いに互い違い
に参照したい場合にどうしても必要だったので、pure C の時代から用意されて
いました。なお、ここでの参照とは、ポインタ * による参照です。pure C の
時代には、C++の & による参照はありませんでしたので。
>カプセル化の遵守を口にしつつ、前方宣言の記述をちょっとサボりたいがだけのために
不完全定義の主な目的は完全定義をサボるためではありません。
自己参照や、2つの構造体 A, B が有った場合、お互いに互い違い
に参照したい場合にどうしても必要だったので、pure C の時代から用意されて
いました。なお、ここでの参照とは、ポインタ * による参照です。pure C の
時代には、C++の & による参照はありませんでしたので。
517デフォルトの名無しさん (ワッチョイ 071a-kLFp)
2019/09/29(日) 13:58:57.67ID:UVnMNq400 https://timsong-cpp.github.io/cppwp/n4659/dcl.type.elab#3
> ..., the union class-key shall be used to refer to a union, and either the class or struct class-key shall be used to refer to a class declared using the class or struct class-key.
> ..., the union class-key shall be used to refer to a union, and either the class or struct class-key shall be used to refer to a class declared using the class or struct class-key.
518デフォルトの名無しさん (ワッチョイ 5f61-81Gp)
2019/09/29(日) 14:12:32.56ID:sih8o/+S0519デフォルトの名無しさん (ワッチョイ 5f01-Gn+r)
2019/09/29(日) 14:21:31.78ID:qdFsd7WD0520デフォルトの名無しさん (ワッチョイ 5f61-81Gp)
2019/09/29(日) 14:25:33.96ID:sih8o/+S0 >>518
再訂正です。
pure C だと、タグ名だけでは型名にならず、class key を直前に書く必要が
ありました。つまり、struct Aaa {・・・} という完全定義の場合、
・・・の部分で自己参照をする場合、C++ だと Aaa *pX; で良いのですが、
pure C だと struct Aaa *pX; と書く必要があります。だから、こんな感じに
書く必要がありました。
struct Aaa {
struct Aaa *pX;
・・・
};
これは書くのがめんどくさいので、多くの人が
typedef struct _Aaa Aaa; // 不完全定義と typedef の組み合わせ
struct _Aaa {
Aaa *pX;
・・・
};
としていたのです。そのために、自己参照のためには、不完全定義が
ほぼ必須となっていたのでした。C++の場合は、typedef しなくても
class key なしのタグ名そのものが型名としても使えるので上記の様な
ことが必要なくなり、自己参照では不完全定義がいらなくなったのです。
再訂正です。
pure C だと、タグ名だけでは型名にならず、class key を直前に書く必要が
ありました。つまり、struct Aaa {・・・} という完全定義の場合、
・・・の部分で自己参照をする場合、C++ だと Aaa *pX; で良いのですが、
pure C だと struct Aaa *pX; と書く必要があります。だから、こんな感じに
書く必要がありました。
struct Aaa {
struct Aaa *pX;
・・・
};
これは書くのがめんどくさいので、多くの人が
typedef struct _Aaa Aaa; // 不完全定義と typedef の組み合わせ
struct _Aaa {
Aaa *pX;
・・・
};
としていたのです。そのために、自己参照のためには、不完全定義が
ほぼ必須となっていたのでした。C++の場合は、typedef しなくても
class key なしのタグ名そのものが型名としても使えるので上記の様な
ことが必要なくなり、自己参照では不完全定義がいらなくなったのです。
521デフォルトの名無しさん (ワッチョイ bfad-S/NQ)
2019/09/29(日) 14:26:04.79ID:qbYXpMyS0 「カジュアルに警察や救急車呼ぶ」が物議 「適切な通報」か「ただの自己中」なのか? | キャリコネニュース
https://news.careerconnection.jp/?p=41755
C++例外をthrowすることの是非論に近いものがあると思う。
https://news.careerconnection.jp/?p=41755
C++例外をthrowすることの是非論に近いものがあると思う。
522デフォルトの名無しさん (ワッチョイ 5f7c-Yj7W)
2019/09/29(日) 23:03:45.90ID:X3J8cFgd0 そんなにどうしても例外について話し合いたいならこちらへどうぞ
https://qiita.com/notenopg/items/40571e69986a58b888a0
https://qiita.com/notenopg/items/40571e69986a58b888a0
523デフォルトの名無しさん (ワッチョイ c7c3-+MBy)
2019/09/29(日) 23:55:06.58ID:OYiClG3B0 >>519
517じゃないの?
517じゃないの?
524デフォルトの名無しさん (ワッチョイ 077b-88hv)
2019/09/30(月) 01:03:02.50ID:nHYsjKbQ0 つかお前ら解散して、本スレに行け。邪魔だ。
日本語読めない馬鹿韓国人>>488もな。
C++相談室 part145
https://mevius.5ch.net/test/read.cgi/tech/1568362404/
お前らの言うとおり、お前らと話しても時間の無駄だ。
文句を言われながらいちいち教えてやる意味はないから当然止める。
俺が422への講評を投稿することはない。タダ乗り狙いの馬鹿共はさっさと本スレに行け。
ただそれ以前に、俺がいくら書いてもどうせ読めないし、技術的にも理解出来るレベルにない。
正直、ここまでお前らが馬鹿だったのには驚いた。
ここで乗ってこないからお前らは馬鹿のままなんだ。聞くは一時の恥、聞かぬは一生の恥だ。
お前らは自分が馬鹿にされるのが怖くて何も言い出せず、安全地帯からクレクレ君だ。
ゆとりはネットの使い方を根本的に分かってない。
デジタルネイティブだから分かっていると勝手に信じ切っているが、それは完全な勘違いだ。
お前らは、今日ネットに向かって何か書いた後、書く前と比べて少しでも成長しているか?
コードを読む/書くのに時間がかかるのなら、それはお前らのプログラミング能力が足りないからだ。
それはやれば上達するし、やらないと上達はしない。つまり、やれば実になるものだ。
お前らゆとりはそういう地道な練習をしようともせず、ここでひたすら罵詈雑言だ。
それで何か得た物があったか?
こういう機会に地道にコードに向き合っている奴とはどんどん差が付く。そして今がある。
お前らはレベルの低さを自覚した方がいい。
そしてC++だけやっていても『今風の』プログラミングは学べない。それも知っておいた方がいい。
日本語読めない馬鹿韓国人>>488もな。
C++相談室 part145
https://mevius.5ch.net/test/read.cgi/tech/1568362404/
お前らの言うとおり、お前らと話しても時間の無駄だ。
文句を言われながらいちいち教えてやる意味はないから当然止める。
俺が422への講評を投稿することはない。タダ乗り狙いの馬鹿共はさっさと本スレに行け。
ただそれ以前に、俺がいくら書いてもどうせ読めないし、技術的にも理解出来るレベルにない。
正直、ここまでお前らが馬鹿だったのには驚いた。
ここで乗ってこないからお前らは馬鹿のままなんだ。聞くは一時の恥、聞かぬは一生の恥だ。
お前らは自分が馬鹿にされるのが怖くて何も言い出せず、安全地帯からクレクレ君だ。
ゆとりはネットの使い方を根本的に分かってない。
デジタルネイティブだから分かっていると勝手に信じ切っているが、それは完全な勘違いだ。
お前らは、今日ネットに向かって何か書いた後、書く前と比べて少しでも成長しているか?
コードを読む/書くのに時間がかかるのなら、それはお前らのプログラミング能力が足りないからだ。
それはやれば上達するし、やらないと上達はしない。つまり、やれば実になるものだ。
お前らゆとりはそういう地道な練習をしようともせず、ここでひたすら罵詈雑言だ。
それで何か得た物があったか?
こういう機会に地道にコードに向き合っている奴とはどんどん差が付く。そして今がある。
お前らはレベルの低さを自覚した方がいい。
そしてC++だけやっていても『今風の』プログラミングは学べない。それも知っておいた方がいい。
525デフォルトの名無しさん (アウアウウー Sa8b-5975)
2019/09/30(月) 01:26:18.80ID:29SpHEC8a (今風のプログラミングって何だろう?)
526デフォルトの名無しさん (ワッチョイ bfad-S/NQ)
2019/09/30(月) 02:19:28.56ID:yat9MmGu0 スマートポインタの積極利用でしょ。
527デフォルトの名無しさん (アウアウウー Sa8b-lq/4)
2019/09/30(月) 19:20:32.40ID:h36FzTTWa C言語で今風プログラミングしてください。
528デフォルトの名無しさん (ワッチョイ c76e-kLFp)
2019/09/30(月) 19:29:26.35ID:d3KN1ocd0 C言語で今風のスクリプトのインタプリタを実装します
スクリプトでプログラムを書きます
スクリプトでプログラムを書きます
529488 (ワッチョイ 47f6-rP+5)
2019/09/30(月) 20:29:16.61ID:ajIYYysl0 > 文句を言われながらいちいち教えてやる意味はないから当然止める。
ああやめろ
おまえ自分の言ったことちゃんと実行しろよ
どうせ三日坊主で我慢できなくなってしゃしゃり出てくるんだろうけどよw
ああやめろ
おまえ自分の言ったことちゃんと実行しろよ
どうせ三日坊主で我慢できなくなってしゃしゃり出てくるんだろうけどよw
530デフォルトの名無しさん (ワッチョイ 39da-kQ9i)
2019/10/03(木) 20:02:50.87ID:pspZZwZs0 ならクラス分けのやり方に役立つ知識をくれ!!!!
531デフォルトの名無しさん (ワッチョイ 0a3a-exW2)
2019/10/03(木) 23:48:30.19ID:doxd0JNA0 自分の中の知識や経験からくる予断にひきずられずにそのプログラムの仕様・要件にのみ従って設計すんだよ
532デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 08:24:01.39ID:MVQV/kgg0 それは無理
つーか動きゃいいんだって態度の素だぞそれ
1つの目標に対して複数の実現手段がある中から
どれがベストかという判断は知識や経験によるところが大きい
つーか動きゃいいんだって態度の素だぞそれ
1つの目標に対して複数の実現手段がある中から
どれがベストかという判断は知識や経験によるところが大きい
533デフォルトの名無しさん (ブーイモ MM8e-kQ9i)
2019/10/04(金) 09:31:44.81ID:2obfK/LZM それホントにベスト?
534デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 09:49:11.29ID:MVQV/kgg0 何を基準にベストというかも知識と経験によるところが大きい
535デフォルトの名無しさん (ワッチョイ 6a7c-0RA9)
2019/10/04(金) 10:31:32.01ID:1z0FSbuq0 まぁでも動きゃいいんだよ
すくなくとも動かないより大分良い
後、変に拘ってて糞みたいなやつより
素直なのがいい
すくなくとも動かないより大分良い
後、変に拘ってて糞みたいなやつより
素直なのがいい
536デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 11:21:14.02ID:MVQV/kgg0 動かないのは論外
論外でなくなっただけで慢心するやつは
他人の批評に聞く耳を持たないオナニー小僧だ
プロの職人は客の反応に関心がある
論外でなくなっただけで慢心するやつは
他人の批評に聞く耳を持たないオナニー小僧だ
プロの職人は客の反応に関心がある
537デフォルトの名無しさん (ワッチョイ f16e-jw9j)
2019/10/04(金) 12:12:57.31ID:8yIxxMU30 この国のソフト屋にどれだけ職人がいるってのよ
大半がただの土方じゃねえか
大半がただの土方じゃねえか
538デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 12:24:43.08ID:MVQV/kgg0 おまえ土方をバカにしてんの?
539デフォルトの名無しさん (ワッチョイ 8d88-LHep)
2019/10/04(金) 12:32:18.96ID:TDKY2TUM0 多くの土方がいるからこそ職人が存在しうる
技術力の高い土方=職人
とするなら職人を増やすには土方を増やすべき
技術力の高い土方=職人
とするなら職人を増やすには土方を増やすべき
540デフォルトの名無しさん (ワッチョイ f16e-jw9j)
2019/10/04(金) 12:56:55.05ID:8yIxxMU30 職人になるのは職人見習いであって土方ではない
どこの業界でも同じ、エリートと人手要員とでは入り口が違う
どこの業界でも同じ、エリートと人手要員とでは入り口が違う
541デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 13:00:57.26ID:MVQV/kgg0 くだらん言葉遊びだ
土方を馬鹿にするくせに同じ仕上がりのものをてめえは作れねえのを忘れてやがる
それが立場が逆でもわからないとしたら相当な知恵遅れだ
まあおそらく逆の立場になったことのないゴミニートだろうがな
土方を馬鹿にするくせに同じ仕上がりのものをてめえは作れねえのを忘れてやがる
それが立場が逆でもわからないとしたら相当な知恵遅れだ
まあおそらく逆の立場になったことのないゴミニートだろうがな
542デフォルトの名無しさん (ワッチョイ 6a7c-0RA9)
2019/10/04(金) 13:13:06.36ID:1z0FSbuq0 >>536
オナニーやろうってのは無駄に拘ったコード書くやつのことだよ
オナニーやろうってのは無駄に拘ったコード書くやつのことだよ
543デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 13:14:16.00ID:MVQV/kgg0 >>542
無駄かどうか、おまえさんはどんな基準で線引いているんだい?
無駄かどうか、おまえさんはどんな基準で線引いているんだい?
544デフォルトの名無しさん (ワッチョイ 6a7c-0RA9)
2019/10/04(金) 13:22:56.82ID:1z0FSbuq0 そんなこと自分で考えろ
545デフォルトの名無しさん (ワッチョイ 6a7c-0RA9)
2019/10/04(金) 13:27:33.21ID:1z0FSbuq0 これはあくまで国語の問題で
「動けばいいんだよ」的なことをオナニー野郎とは言わない
オナニー野郎ってのは珍妙なカラクリを作って喜んでいるやつのことを言うんだ
「動けばいいんだよ」的なことをオナニー野郎とは言わない
オナニー野郎ってのは珍妙なカラクリを作って喜んでいるやつのことを言うんだ
546デフォルトの名無しさん (ワッチョイ 6a7c-0RA9)
2019/10/04(金) 13:29:36.40ID:1z0FSbuq0 珍妙カラクリオナニー野郎に比べれば
特にこだわりのない「動けばいいんだよ」の方が
まだマシ
特にこだわりのない「動けばいいんだよ」の方が
まだマシ
547デフォルトの名無しさん (ワッチョイ 8d88-LHep)
2019/10/04(金) 14:43:29.74ID:TDKY2TUM0 >この国のソフト屋にどれだけ職人がいるってのよ
>大半がただの土方じゃねえか
ソフト屋に職人と土方が含まれてるように自分で言っといて入り口が違うとか意味がわからん
>大半がただの土方じゃねえか
ソフト屋に職人と土方が含まれてるように自分で言っといて入り口が違うとか意味がわからん
548デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 16:04:51.75ID:MVQV/kgg0 もしかして頭が昭和のまま更新が止まったジジイか?
俺と同じバーによく来てる土木の土方さんなんか
下手なホワイトカラーより高収入だぜ
今はそんな時代なんだよ
てめえじゃ何もできねえハリボテ野郎のフカしが通用する時代じゃねえ
俺と同じバーによく来てる土木の土方さんなんか
下手なホワイトカラーより高収入だぜ
今はそんな時代なんだよ
てめえじゃ何もできねえハリボテ野郎のフカしが通用する時代じゃねえ
549デフォルトの名無しさん (ドコグロ MMb1-XtwS)
2019/10/04(金) 16:32:24.34ID:uYF9K7e8M550デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 16:49:12.89ID:MVQV/kgg0 オナニー小僧って言われて発狂してるやつ
嫁の来手がないまま白髪が目立つようになったり光ったりしちまったの?
嫁の来手がないまま白髪が目立つようになったり光ったりしちまったの?
551デフォルトの名無しさん (エムゾネ FF0a-MsYi)
2019/10/04(金) 16:55:37.44ID:FW+Y/3wmF 白髪ならまだマシなビル
ちんこ勃たないレベルになるで
ちんこ勃たないレベルになるで
>>551
それは深刻ですね…
それは深刻ですね…
553デフォルトの名無しさん (ワッチョイ 39da-kQ9i)
2019/10/09(水) 23:24:31.98ID:aOv+d3Mp0 c++にはじめてさわったとき、クラスなるものに触れてシングルトンパターン凄くね!?と思ってたんだけど、スタティックと何が違うねんってなった
必ず生成されるか使われたときにはじめて生成されるかしか差がない??
必ず生成されるか使われたときにはじめて生成されるかしか差がない??
554デフォルトの名無しさん (ワッチョイ 2a01-G1PU)
2019/10/09(水) 23:30:02.37ID:5KUwoER40 classベースにしておけば継承なりなんなりOO的な設計手法が使える
でもシングルトンをすごいと思う感性におどろくわ
でもシングルトンをすごいと思う感性におどろくわ
555デフォルトの名無しさん (ワッチョイ 39da-kQ9i)
2019/10/09(水) 23:56:26.11ID:aOv+d3Mp0556デフォルトの名無しさん (ワッチョイ 9ff9-8cCB)
2019/10/10(木) 00:21:57.56ID:uUO69neG0 本当に1つだけなら静的変数でいいのよ
2以上の「n個まで」をやりたい時がシングルトンの使いどころ
「シングルトン」て名前がよくない
2以上の「n個まで」をやりたい時がシングルトンの使いどころ
「シングルトン」て名前がよくない
557デフォルトの名無しさん (ワッチョイ f7da-PfV+)
2019/10/10(木) 00:31:49.11ID:nZt6KVUa0558デフォルトの名無しさん (ワッチョイ 971f-Mmde)
2019/10/10(木) 00:54:16.71ID:sP1rZpbe0 静的変数はスコープが限られてるけど(あるいはグローバル汚染するけど)
シングルトンなら使いたいところだけで使えるのがメリットだと思ってた
シングルトンなら使いたいところだけで使えるのがメリットだと思ってた
559デフォルトの名無しさん (ワッチョイ 5701-o74w)
2019/10/10(木) 08:42:21.73ID:aZnaY5Is0 「使いたいところで使える」はメリットに見えてかなりのデメリットだぞ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 自民・麻生太郎 副総裁 石破政権の1年は「どよーん」 高市政権の発足で「何となく明るくなった」「世の中のことが決まり動いている」 [Hitzeschleier★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- トランプ、G7に代わるcore 5を発表 [805596214]
- イ カ れ た メ ン バ ー 紹 介 す る ぜ !
- ネトウヨ「ゆーちゅぶでお勉強した!😡💢」高市悲報 [153490809]
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★5
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
