[過去ログ] C++相談室 part154 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
198(2): 2021/01/23(土)13:50 ID:1/fAmr9E(1) AAS
じゃーHaskellにできることはC++でもできるし、同じように書けるって言うのかい
199: はちみつ餃子 ◆8X2XSCHEME 2021/01/23(土)13:52 ID:Q+Wu8A2P(1/2) AAS
>>198
なんでそうなるのかようわからんが。
200(2): 2021/01/23(土)14:06 ID:pKYkJfCY(1) AAS
>>160
>1文字の特殊変数だらけの言語
APL記号?
201: はちみつ餃子 ◆8X2XSCHEME 2021/01/23(土)14:54 ID:Q+Wu8A2P(2/2) AAS
>>188
外部リンク[html]:docs.ruby-lang.org
202: 2021/01/23(土)16:26 ID:LPDMRZtK(1) AAS
>>200
懐かしいな
俺アンペールのいじってたよ
203: 2021/01/23(土)18:58 ID:C4WlxIYr(1) AAS
>>198
そんなクソみたいなこと言うんだったら、まず「関数型言語」の定義から言えよ。
Lispが関数型言語じゃないとか言い始めそうだな。
204: 2021/01/24(日)11:36 ID:wSlEv8S7(1) AAS
Rubyは関数型ωωω
205: 2021/01/24(日)12:17 ID:/MPXRGah(1) AAS
カオスコードって意味ならc++とperlが双璧だわな。rubyは別の意味で糞だが。
206: 2021/01/24(日)14:46 ID:bXJjYU1w(1/2) AAS
rubyの糞とrailsの糞がかけ合わさって悪臭漂う糞になる
207(1): 2021/01/24(日)21:13 ID:hPeuQsPP(1) AAS
肛門を保護するために出る粘液はイイ匂いがするので、化学的に類似品が合成され、香水の原料になっています。
ウンコは臭いですが、ウンコの周りには良いものがあるかもしれない。
208: 2021/01/24(日)23:17 ID:bXJjYU1w(2/2) AAS
Co-mon++
209: 2021/01/25(月)00:51 ID:h/LmkNzq(1) AAS
>>207
腸液は質感、匂いともに精液に酷似してるっていうのはよく言われてるけど、それのことじゃないよね?
良い匂いの分泌液なんて聞いたことがない
210: 2021/01/25(月)09:53 ID:RU5Fvovq(1) AAS
やだこのスレホモ臭い
211: 2021/01/25(月)10:13 ID:uSgkqdKl(1) AAS
と言いつつ嬉しそうな吉宗であった。
212: 2021/01/25(月)13:06 ID:sPc2eBUP(1/4) AAS
PerlとC++は、見づらいソースコードに慣れる能力を鍛えてくれる。
Perlをオワコン扱いする人は情弱である。
213: 2021/01/25(月)13:11 ID:54hHF458(1) AAS
厄介者のperl厨
214: 2021/01/25(月)13:34 ID:lM5Uli0g(1) AAS
糞コードに触れるとアンチパターンがわかるというのは確かにあるが、それを人に勧めるのは気がひける。
215: 2021/01/25(月)13:48 ID:sPc2eBUP(2/4) AAS
まずい酒の味を知らない者には、うまい酒の味を見分けることはできない。
216: 2021/01/25(月)21:12 ID:bQwFUjl3(1) AAS
美味い酒の味を知ったら不味い酒は飲めん
217: 2021/01/25(月)22:13 ID:IR169uBT(1) AAS
酒は飲まんからようわからん
218: 2021/01/25(月)22:56 ID:sPc2eBUP(3/4) AAS
まずい酒を飲めなくなることは、プログラミングに置きかえればクソコードのメンテナンスができなくなることを意味しており、スキル低下でしかない。
219: 2021/01/25(月)23:11 ID:bBvI6B4m(1) AAS
まずい酒はわかるけどうまい酒はマジわからん…
220(2): 2021/01/25(月)23:57 ID:sPc2eBUP(4/4) AAS
うまい酒については「水のように飲みやすい」というほめ表現もあるが、なら水飲んどけよという話でもある。
221: 2021/01/25(月)23:57 ID:t4dFVxvz(1) AAS
<body>
!unti {nuritakuri}
<body/>
222: 2021/01/26(火)00:02 ID:Qnn6Y+tc(1) AAS
<head>
<bukkake> seisi <bukkake/>
<strong> naaaaaaaaa!!!<strong/>
<head/>
223(2): 2021/01/26(火)02:05 ID:wg8lZWjJ(1) AAS
>>220
ほんまこれ
前にカエルの肉を食ったやつが「ほんと鶏肉とおんなじようなもんだから!食べてみて!」
ってしつこいんだが、だったら鶏肉でいいだろなんでわざわざゲテモノ食わにゃならんのか??となる
224: 2021/01/26(火)03:51 ID:uiGtA95I(1/4) AAS
寄生虫が良い風味出すから。
225: 2021/01/26(火)06:09 ID:ZRZozNwf(1/3) AAS
macOSのHomebrewいいね。Perlが最新の5.32.1に即対応。人柱上等なところに惚れる。
226: 2021/01/26(火)07:49 ID:ZI8ZD6Xl(1) AAS
安めの食材や有り合わせでうまいもん作れる腕があっても
腐ったものはどうにもできない
例えるなら、これだろ
227: 2021/01/26(火)07:59 ID:xVPuSdRM(1) AAS
>>220
酔える水なら。
228(1): 2021/01/26(火)11:52 ID:XuLptVzr(1) AAS
>>223
今ジビエなどとおしゃれに言ってるがゲテモノ食いが今の事態を招いてる
中途半端な科学信仰が何もかも迷信にしてしまって自然を正しく畏れなくなった
229(1): 2021/01/26(火)13:45 ID:uiGtA95I(2/4) AAS
ちょっと腐ったほうが柔らかくなってアミノ酸も多いよ。
熟成させたと言えばグルメも安心だし。
230(1): 2021/01/26(火)13:48 ID:uiGtA95I(3/4) AAS
野菜は立てておくと腐らないんだけど、その代わり成長するからね。
光合成できるかも?と思ってなけなしの養分使って葉を伸ばすんだろうけど、光合成は出来ません。
231(1): 2021/01/26(火)13:54 ID:uiGtA95I(4/4) AAS
野菜の活〆を発明したら儲かるだろな。
放射線以外で。
232: 2021/01/26(火)21:06 ID:Du8Hqhh0(1) AAS
いいかげんスレ違い。
233: 2021/01/26(火)21:46 ID:ZRZozNwf(2/3) AAS
プリプロセッサマクロだらけの“汚い”コードを否定したらC/C++の強みを失うことになる。
JavaやC#はプリプロセッサマクロが貧弱なのが玉にキズだ。
234: 2021/01/26(火)21:51 ID:ZRZozNwf(3/3) AAS
pybind11スレがないこんな世の中じゃ〜Python〜
まぁマクロの塊のような代物だが。
235(1): 2021/01/27(水)06:03 ID:yQalyIAE(1) AAS
C++はコミュニティで発言力のある人が大抵率直にものを言い過ぎる、悪く言えば口が悪いので忌み嫌われてるとこある
236: 2021/01/27(水)07:30 ID:eLUquqZ0(1) AAS
>>229
カダベリンやムスカリンが発生してたり
セレウス菌が大量にいるのは
そういう問題じゃねえぜ
237: 2021/01/27(水)07:48 ID:4l9V085Z(1) AAS
でも、Linux板なんか失敗したボランティアの住所載せて、放火しろとは言ってませんよ??言ってませんよ??・・・などの書き込みあるからな。
それに比べれはだいぶ良識的では?
238: 2021/01/27(水)11:26 ID:cJSBZXf9(1) AAS
C/C++のプリプロセッサも貧弱すぎ
239(2): 2021/01/27(水)17:43 ID:nPuTGnvU(1) AAS
C++例外のスタック情報がとれないのはC++の欠点。
例外でスタック情報を使えるJava/C#/Python/Perlはエライ。
240: 2021/01/27(水)21:51 ID:NT655YPf(1) AAS
おまえは二度とC++使うな
241: 2021/01/27(水)23:04 ID:TqcnYSNG(1) AAS
>>239
スタックフレーム作ればイケるってば
242: 2021/01/28(木)09:07 ID:dmDIUcy2(1) AAS
>>235
例えば誰?
243(2): はちみつ餃子 ◆8X2XSCHEME 2021/01/28(木)10:23 ID:vBYpvnJx(1/2) AAS
>>239
gdb にアタッチしたことないんか?
C++23 には stacktrace が入るから
デバッガを使いこなせなくても少し楽にトレースできるかもな。
244: 2021/01/28(木)10:52 ID:dNWrUHbO(1/3) AAS
>>223
フグは豚肉に触感似てるけどフグの方が美味い
245(1): 2021/01/28(木)10:54 ID:dNWrUHbO(2/3) AAS
>>228
日本で感染爆発が起きてないのは以前からジビエが流行してたからか
246: 2021/01/28(木)10:55 ID:dNWrUHbO(3/3) AAS
>>230-231
白菜は外の皮じゃなくて中の芯から先に食べろと言われている
247: 2021/01/28(木)11:40 ID:eLxqvNeX(1/2) AAS
>>200
ユニコ時代だからAPLよりずっと先行ってるぞ
組み込み演算子で∩∉とか集合論の記号採用してたりアトミックな演算子は⚛++とか洒落効いてたりする
一方で古代perlのプレフィックスは緩和されてる
248: 2021/01/28(木)11:51 ID:eLxqvNeX(2/2) AAS
∅∘∩ ⊍∪ ⊖ ⊎ ∖≅ ∈ ∉ ∋ ∌ ≡
≢ ⊂ ⊄ ⊃ ⊅ ⊆ ⊈ ⊇ ⊉ ≼ ≽.«»≠
他組み込みではこんな感じか
>= やらよりmずっと可読性高いと思う、エディタもvimとか高機能なのなら問題なかろう
文字を表示してくれるのは特に便利
249: 2021/01/28(木)11:58 ID:kskG1wa2(1) AAS
>>245
さすがにコウモリはどこの地方でも食わんだろ
250(1): 2021/01/28(木)17:23 ID:8Al9oSyF(1) AAS
なんでプリミティブ型って継承できんの?
251(2): はちみつ餃子 ◆8X2XSCHEME 2021/01/28(木)17:29 ID:vBYpvnJx(2/2) AAS
>>250
やりたいときってあるか?
252(2): 2021/01/28(木)17:41 ID:GsoT0xyU(1) AAS
クラスAのオブジェクトをクラスBのメンバにするときってどうやってAのコンストラクタ呼ぶの?
class B{
A a;
public:
B(){
// この辺でAのコンストラクタを呼びたい
}
};
253(1): 2021/01/28(木)17:48 ID:WrE+/6so(1) AAS
>>252
メンバのコンストラクタの方が先に呼ばれる。だからそこでは既にAは構築済み。
どうしてもBのコンストラクタ内でAのコンストラクタ呼びたいなら、メンバ変数はポインタで持つ
254: 2021/01/28(木)18:07 ID:IHrlZHr2(1/5) AAS
>>243
gdbはおいとくとして、Visual StudioってC++例外のスロー位置を追跡できたっけ?
255(1): 2021/01/28(木)18:50 ID:Hqj+H5f7(1) AAS
>>252
初期化リストを使う
B() : a(hoge, piyo)
256(1): 2021/01/28(木)18:54 ID:IHrlZHr2(2/5) AAS
あとで再初期化したくなること多いから、結局コンストラクタの実装を別の関数に分離すること多いよね。
コンストラクタの種類が増えたら使いまわしたくなるし。
257: 2021/01/28(木)19:24 ID:q3mIN91/(1/3) AAS
>>243
デバッガ使いこなせないとか話にならんだろ・・
258(2): 2021/01/28(木)19:28 ID:IHrlZHr2(3/5) AAS
デバッガやシンボルがない環境でもスタックトレースできたほうが良いと思うけどね。
後発言語の生産性の高さはこの辺の充実ぶりにあるでしょ。
259(1): 2021/01/28(木)19:42 ID:IHrlZHr2(4/5) AAS
他プロセスと連携するシステムにはデバッガを当てにくい事が多い。
タイミング依存の不具合を追跡する場合、デバッガがまったく役に立たない。
260: 2021/01/28(木)20:25 ID:eBfsAdOM(1) AAS
>>258
その手の生産性と成果物の効率はトレードオフでどっちを重視するかが違うだけでしょ
261(3): 2021/01/28(木)20:36 ID:IHrlZHr2(5/5) AAS
デバッガ使いこなすとか言って悦に入ってる人と会話が噛み合わないんだが。
262: 2021/01/28(木)20:36 ID:yp+dwtvR(1) AAS
>>258
だよね
むしろデバッガをアタッチできる環境ならスタックトレースはなくてもなんとかなる
ユーザー環境でスタックトレースがテキストファイルに落ちるようになってるとトラブルシューティングがしやすい
263(1): 2021/01/28(木)21:29 ID:oPlwADge(1/2) AAS
>>261
ここほとんどアマチュアの人だから許してやろうやw
264: 2021/01/28(木)21:48 ID:q3mIN91/(2/3) AAS
>>261 >>263
悪いがプロだよ
IDEの機能を使いこなせてない初心者が、先に学ぶべきことから逃げて言語だけでどうにかさせようとするような
(いつものことだが)はちみつのミスリードに釘を刺しただけだ
265: 2021/01/28(木)21:51 ID:q3mIN91/(3/3) AAS
>>261
あと、流れを読む限り俺の発言が気に入らなくてファビョってるのは君の方だよね、俺1行しか書いてなかったし(しかも大した内容じゃない)w
何が気に障ったんだ?
266: 2021/01/28(木)21:51 ID:oPlwADge(2/2) AAS
いやごめん、俺は流れは一切追ってなくて他意はないよ
茶化したかっただけ
気にしないで
267: 2021/01/28(木)23:50 ID:g6qVZG7L(1) AAS
発狂やないかw
Perlの人かな
268(3): 2021/01/28(木)23:53 ID:RfcrpqT0(1) AAS
>>253,255
じゃあ、Bを構築してしばらく経ってからわかる情報を使ってAを構築したいとき、Aのインスタンスをメンバとして持つのは不可能ということですか?
ポインタで持つ以外の方法はない (想定されてない?) のでしょうか
constなメンバ変数を初期化するときも近いことを思います
269: 2021/01/29(金)00:10 ID:ZIYbfTXe(1/4) AAS
>>268
そういうコンストラクタ制約を持つクラスはけっこう多い。
WindowsのC++向けGDI+ライブラリのクラス群はまさにこれが当てはまる。
広範に存在している以上は受け入れるしかない。
今時は標準でshared_ptrなどの共有ポインタクラスを使えるので、さほど問題にならないでしょ。
270: 2021/01/29(金)00:19 ID:SRnp44iw(1) AAS
>>268
Aに引数なしのコンストラクタ、コピーorムーブ代入演算子があるなら、後で作って代入でもいいけど
まぁ特に理由なければ(スマート)ポインタで持った方が無難だし楽
constはどうしようもない
271: 2021/01/29(金)00:22 ID:MWSZTtHp(1) AAS
>>268
「Bを構築してしばらく経ってからわかる情報」を返すヘルパー関数を作って初期化リストの中で呼べばいいじゃない
272: 2021/01/29(金)07:49 ID:/axUqcOX(1) AAS
データメンバをconstってあんまりやらないな
publicに晒すとかじゃなきゃメンバ関数を
constにするだけで足りるから
あ、staticメンバのconstはよくやるけどね
273(2): 2021/01/29(金)08:02 ID:1V7SRlCX(1/3) AAS
>>251
ある
実装は同じunsigned longでも意味が違うから別クラスとして扱いたいときとか
private継承できたらナア……
現状(C++03)はプリミティブ型と同じ演算子(のうちの当座のアプリケーションで使うやつ)をいちいち実装したクラスを作って
NDEBUGマクロで実装を切り替えるみたいな涙ぐましい努力が要る
274: 2021/01/29(金)08:05 ID:1V7SRlCX(2/3) AAS
訂正orz
誤: private継承
正: public継承かつoperator unsigned long()はprivateかつunsigned longからの構築はexplicit
275: 2021/01/29(金)08:08 ID:1V7SRlCX(3/3) AAS
メンバをconstにして代入演算子を定義せずにいるとデフォルトの代入演算子をが定義できないとコンパイラに文句を言われる俺環、
276: 2021/01/29(金)09:20 ID:koPyq8om(1) AAS
>>273
それ、継承できたとして式の中で混在しても区別されないんじゃね?
テンプレートの型引数で区別するような使い方くらいしか思いつかないが。
277(1): 2021/01/29(金)12:20 ID:c2S2Mocm(1/2) AAS
メンバ変数のconstはポインタ型ならすることあるけど、値で持つメンバ変数はあんまり意味なくない?
constなくても勝手に外部から書き換えられないように、ちゃんと隠蔽しとけばいいだけでしょ
278(1): 2021/01/29(金)12:35 ID:2DekME/2(1) AAS
>>277
class内の処理においても変更しないつもりだ、変更されることはない、と明示することで意識しておかなければならないことを少し軽減できるのだから、無駄ではないと思う。
手間をかけずにconstにできるならしておけばいいし、逆に無理して複雑なことをしてまでconstにする必要はないという程度のことかと思う。
279: 2021/01/29(金)12:55 ID:c2S2Mocm(2/2) AAS
>>278
たしかにconst付いてればコンストラクタで設定した値がずっと変わらないことが
明示的になるから無意味ではないか
280: はちみつ餃子 ◆8X2XSCHEME 2021/01/29(金)14:10 ID:heeNhc25(1) AAS
>>273
そういう用途なら opaque alias という提案だけは出てるけど
どう見てもグダグダなんで、場当たり的な方法のほうがマシだと思うよ。
281(2): 2021/01/29(金)16:04 ID:5pIDnM+S(1/3) AAS
>>251
3値のboolean作るときってboolean継承すべき?
282: 2021/01/29(金)16:07 ID:5pIDnM+S(2/3) AAS
>>256
言いたいことは判るが
コピーコンストラクタやムーブコンストラクタが勝手に使われるから
デフォルトに任せてると何が起こるかは判ってた方が良い
283: 2021/01/29(金)16:10 ID:5pIDnM+S(3/3) AAS
>>259
COMサーバーというかDX用にフィルタ書いてると訳判らなくなった
284(1): 2021/01/29(金)16:56 ID:RxAp4EkX(1) AAS
>>281
3値のbooleanを作って何するの?
boolへのポインタにしてtrue / false / nullptr の3値でなんとかならんか?
285: 2021/01/29(金)17:20 ID:ADFs+h5F(1) AAS
boostにtriboolってのがあるな
286: はちみつ餃子 ◆8X2XSCHEME 2021/01/29(金)17:23 ID:t7wU8l8M(1) AAS
>>281
仮に真偽値型を継承可能であったとして、三値型が真偽値型を継承するのはおかしいだろう。
場合によって柔軟な判断が必要な場合はあるものの、
継承は is-a 関係を表したいときに限ったほうがよろしいというのが一般的な設計原則だと思うが。
287: 2021/01/29(金)17:25 ID:GtDK4kd8(1) AAS
nullableか、DBのフィールド値?
288: 2021/01/29(金)18:57 ID:ZIYbfTXe(2/4) AAS
はちみつ餃子「スタックトレースできないならデバッガ当てればいいじゃない」
289: 2021/01/29(金)19:41 ID:rAmh2V0K(1) AAS
典型的な円楕円問題だな
290: 2021/01/29(金)19:56 ID:ZIYbfTXe(3/4) AAS
テンプレートを使えば、クラス継承に依存しない記述が可能。
iostreamが黒歴史扱いである現実を踏まえての話。
291: 2021/01/29(金)21:24 ID:WFMo+mcm(1/2) AAS
とりあえずiostream批判しとけば訳知り顔ができた気に浸れる浅はかなやつ
292: 2021/01/29(金)21:35 ID:nnAlz0gZ(1) AAS
c++ニワカあるあるだよなw
iostreamとりあえず批判奴w
293: 2021/01/29(金)21:39 ID:ZIYbfTXe(4/4) AAS
iostreamは使いもしないメンバ変数を継承することを強要される悪い手本でしょ。
294: 2021/01/29(金)22:16 ID:WFMo+mcm(2/2) AAS
何も説得力を示さずに突然「悪い」と言い出す
295: 2021/01/30(土)01:56 ID:SJAC6oP5(1) AAS
iostreamはクソなのは正解だが別に批判するようなことでもない
なぜなら使わなければいいだけの話だからだ
296: 2021/01/30(土)02:06 ID:OHt9F1SU(1/8) AAS
無理にクラス継承を使わずオーバーライド関数とそれを使うテンプレート関数を充実させたほうが幸せになれる。
297: 2021/01/30(土)02:41 ID:PJvUkb6d(1/5) AAS
別に無理して継承を使っているわけではない
どっかの馬の骨が気に入らんからといって
あれを使うなこれを使うなと言われるほうが無理そのものだ
298: 2021/01/30(土)02:53 ID:OHt9F1SU(2/8) AAS
例えば、ファイルに書き込む処理があったとする。
ファイルハンドルとして有名な型としては、int型、FILE*型、iostream型、Win32APIのHANDLE型などがあげられる。
これらを派生クラスに閉じ込めて抽象化するよりも、関数名が同じになるオーバーライド関数を作ってテンプレート関数から呼んだ方がはるかに楽。
int WriteBuffer(int fp, const char* buffer);
int WriteBuffer(FILE* fp, const char* buffer);
int WriteBuffer(ostream& fp, const char* buffer);
int WriteBuffer(HANDLE fp, const char* buffer);
template<typename FILE_OBJECT>
void WriteContent(FILE_OBJECT o)
{
WriteBuffer(o, "write test1");
WriteBuffer(o, "write test2");
}
299: 2021/01/30(土)03:53 ID:ULcRPxme(1/2) AAS
ドヤってるところすまんがそれオーバーライドじゃない
300: 2021/01/30(土)04:01 ID:PJvUkb6d(2/5) AAS
プゲラ
301: 2021/01/30(土)05:45 ID:SLqQC90z(1/5) AAS
フリー関数とクラスメンバでは、インテリセンスが効くか効かないかの違いもある。
302: 2021/01/30(土)05:52 ID:OHt9F1SU(3/8) AAS
そんなあなたに名前空間
303: 2021/01/30(土)06:06 ID:SLqQC90z(2/5) AAS
クラスの場合、名前空間を書かなくても、インテリセンスが効く。
304(2): 2021/01/30(土)06:47 ID:budoESfZ(1) AAS
コンストラクタの初期化リストで
class A{
int x;
public:
A(int x) : x(x) {}
};
みたいにしたとき、ちゃんとメンバのxがコンストラクタの引数のxで初期化されますよね?
メンバの x と同名の引数の x が同一のスコープに同居しているようで紛らわしいかなと思ったのですが、こういう書き方を避ける慣習はありますか
305: 2021/01/30(土)07:04 ID:ULcRPxme(2/2) AAS
自分は普通にその書き方してる
避ける人も居るっぽいけど好きなようにすればいい
306: 2021/01/30(土)09:09 ID:PHKUCpSE(1) AAS
iostreamマンセーバカってのは型安全ならどんな仕様でも良いと思ってるカスが多いからな。
型安全は評価する一項目に過ぎないってのに。
307: 2021/01/30(土)09:29 ID:vDjChjwr(1) AAS
iostreamは整形のための情報をわざわざ状態として持たされるのがクソ
当時は状態が邪悪だっていう考え方が一般的じゃなかったからしょうがないけど
308(1): 2021/01/30(土)09:38 ID:2pTx0la6(1) AAS
でも状態もってなかったら記述が煩雑になりすぎない?
HTMLのマークアップとまでは言わんまでも
309(1): 2021/01/30(土)09:59 ID:OHt9F1SU(4/8) AAS
整形設定を記憶する変数インスタンスをiostreamインスタンスと分離すべきって話でしょ。
必要に応じて差し替えできるように参照渡しするか、逆にiostreamを参照渡しするとか色々やれたはず。
310: 2021/01/30(土)10:06 ID:OHt9F1SU(5/8) AAS
というか他のオブジェクト指向言語だと整形情報がFormatterクラスとかに分離されているのが普通だし。
311: 2021/01/30(土)10:32 ID:PJvUkb6d(3/5) AAS
FORTRANのFORMAT文が好きな人をどうこうしようとは思わない
312: 2021/01/30(土)10:40 ID:hVJYorL3(1) AAS
初歩的な質問なのですが、stringクラスの内部バッファはデストラクタで破棄されるため自分では一切管理しなくていいという認識で良いのでしょうか?
313: 2021/01/30(土)11:17 ID:SLqQC90z(3/5) AAS
アロケータによるけど、普通は管理しなくて良いのでは?
314: 2021/01/30(土)12:47 ID:EWZvTk3z(1) AAS
>>308
状態持ってても無駄に煩雑(複雑ではない)
315: 2021/01/30(土)12:57 ID:8FYOnD7D(1) AAS
iostream 型安全なのはいいけど、char/signed char/unsigned char ぜんぶ文字扱いするのはやめて欲しかった。
316: 2021/01/30(土)13:18 ID:SLqQC90z(4/5) AAS
単項プラスで。
317(1): はちみつ餃子 ◆8X2XSCHEME 2021/01/30(土)13:18 ID:4OMKN/Z4(1/2) AAS
>>309
入出力を直接的に司るバッファクラス (basic_streambuf) と
書式制御を司るストリームクラスを分離したデザインになっているし、
必要に応じて差し替えることも出来るよ。
iostream においてそれがわかりやすいか、良いデザインであるかは別として、
ちゃんと分離したデザインになってる。
318(1): ◆QZaw55cn4c 2021/01/30(土)14:53 ID:L1O2TNoD(1/2) AAS
>>304
私は馬鹿なのでメンバ変数とコンストラクタ引数を x, _x というふうに書き分けています、馬鹿が感染るかもしれないのでお勧めはしません
319(2): 2021/01/30(土)15:08 ID:S5wIZr5N(1/2) AAS
C++でのメンバ変数は、標準的には m_xと書く。
320: 2021/01/30(土)16:04 ID:0ahE8ZR3(1/2) AAS
>>319
何処信者だよ
ダッサw
321: 2021/01/30(土)16:41 ID:SLqQC90z(5/5) AAS
MicrosoftとAdobeがその書き方多いですね。
322(2): 2021/01/30(土)17:13 ID:S5wIZr5N(2/2) AAS
なお、_x は、命名規約上、禁止。先頭が _ の名前はコンパイラなどの
システム予約なため。
323: 2021/01/30(土)17:14 ID:2r/QlSUC(1/2) AAS
そうだったっけ?
324: はちみつ餃子 ◆8X2XSCHEME 2021/01/30(土)17:19 ID:4OMKN/Z4(2/2) AAS
>>304
>>318-319
命名規約の方法論は色々なのでプレフィクスを付けるルールが定めてある場合もあるし、
むしろ一致させていくようにしているものもある。
私自身は、少なくともメンバに値を設定するだけの単純なコンストラクタである場合には
名前を一致させていくスタイルで書く。
C++ を使う上でのガイドラインとしてよく参照されているのはグーグルのスタイルガイドで、
データメンバの名前は最後にアンダースコアを付けるようにルールを定めている。
外部リンク[html]:google.github.io
その一方では C++ の設計者である Stroustrup は型やスコープを変数名に含めるのは好ましくない
(しかし部分的に便利な場合もあることは認めている) と書いている。
外部リンク[html]:stroustrup.com
どちらの習慣が圧倒的優勢ということはないと思う。
>>322
グローバル変数としてはアンダースコアで始まる名前は予約されているけど、
そうでない場合には問題ない。
ただし、
・ アンダースコアで始まって大文字が続く名前
・ アンダースコアが連続 (名前の先頭部分以外でも) する名前
は名前の種類やスコープにかかわらずどこでも予約されている。
上下前次1-新書関写板覧索設栞歴
あと 678 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s