※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/
テンプレここまで
C++相談室 part154
■ このスレッドは過去ログ倉庫に格納されています
2021/01/08(金) 17:54:00.55ID:0DW9z0rL
203デフォルトの名無しさん
2021/01/23(土) 18:58:05.34ID:C4WlxIYr204デフォルトの名無しさん
2021/01/24(日) 11:36:54.35ID:wSlEv8S7 Rubyは関数型ωωω
205デフォルトの名無しさん
2021/01/24(日) 12:17:53.22ID:/MPXRGah カオスコードって意味ならc++とperlが双璧だわな。rubyは別の意味で糞だが。
206デフォルトの名無しさん
2021/01/24(日) 14:46:51.42ID:bXJjYU1w rubyの糞とrailsの糞がかけ合わさって悪臭漂う糞になる
207デフォルトの名無しさん
2021/01/24(日) 21:13:47.08ID:hPeuQsPP 肛門を保護するために出る粘液はイイ匂いがするので、化学的に類似品が合成され、香水の原料になっています。
ウンコは臭いですが、ウンコの周りには良いものがあるかもしれない。
ウンコは臭いですが、ウンコの周りには良いものがあるかもしれない。
208デフォルトの名無しさん
2021/01/24(日) 23:17:47.88ID:bXJjYU1w Co-mon++
209デフォルトの名無しさん
2021/01/25(月) 00:51:35.02ID:h/LmkNzq210デフォルトの名無しさん
2021/01/25(月) 09:53:48.54ID:RU5Fvovq やだこのスレホモ臭い
211デフォルトの名無しさん
2021/01/25(月) 10:13:42.80ID:uSgkqdKl と言いつつ嬉しそうな吉宗であった。
212デフォルトの名無しさん
2021/01/25(月) 13:06:55.63ID:sPc2eBUP PerlとC++は、見づらいソースコードに慣れる能力を鍛えてくれる。
Perlをオワコン扱いする人は情弱である。
Perlをオワコン扱いする人は情弱である。
213デフォルトの名無しさん
2021/01/25(月) 13:11:37.73ID:54hHF458 厄介者のperl厨
214デフォルトの名無しさん
2021/01/25(月) 13:34:11.10ID:lM5Uli0g 糞コードに触れるとアンチパターンがわかるというのは確かにあるが、それを人に勧めるのは気がひける。
215デフォルトの名無しさん
2021/01/25(月) 13:48:32.46ID:sPc2eBUP まずい酒の味を知らない者には、うまい酒の味を見分けることはできない。
216デフォルトの名無しさん
2021/01/25(月) 21:12:20.67ID:bQwFUjl3 美味い酒の味を知ったら不味い酒は飲めん
217デフォルトの名無しさん
2021/01/25(月) 22:13:56.33ID:IR169uBT 酒は飲まんからようわからん
218デフォルトの名無しさん
2021/01/25(月) 22:56:10.85ID:sPc2eBUP まずい酒を飲めなくなることは、プログラミングに置きかえればクソコードのメンテナンスができなくなることを意味しており、スキル低下でしかない。
219デフォルトの名無しさん
2021/01/25(月) 23:11:18.97ID:bBvI6B4m まずい酒はわかるけどうまい酒はマジわからん…
220デフォルトの名無しさん
2021/01/25(月) 23:57:21.75ID:sPc2eBUP うまい酒については「水のように飲みやすい」というほめ表現もあるが、なら水飲んどけよという話でもある。
221デフォルトの名無しさん
2021/01/25(月) 23:57:36.36ID:t4dFVxvz <body>
!unti {nuritakuri}
<body/>
!unti {nuritakuri}
<body/>
222デフォルトの名無しさん
2021/01/26(火) 00:02:06.39ID:Qnn6Y+tc <head>
<bukkake> seisi <bukkake/>
<strong> naaaaaaaaa!!!<strong/>
<head/>
<bukkake> seisi <bukkake/>
<strong> naaaaaaaaa!!!<strong/>
<head/>
223デフォルトの名無しさん
2021/01/26(火) 02:05:34.14ID:wg8lZWjJ >>220
ほんまこれ
前にカエルの肉を食ったやつが「ほんと鶏肉とおんなじようなもんだから!食べてみて!」
ってしつこいんだが、だったら鶏肉でいいだろなんでわざわざゲテモノ食わにゃならんのか??となる
ほんまこれ
前にカエルの肉を食ったやつが「ほんと鶏肉とおんなじようなもんだから!食べてみて!」
ってしつこいんだが、だったら鶏肉でいいだろなんでわざわざゲテモノ食わにゃならんのか??となる
224デフォルトの名無しさん
2021/01/26(火) 03:51:19.13ID:uiGtA95I 寄生虫が良い風味出すから。
225デフォルトの名無しさん
2021/01/26(火) 06:09:38.08ID:ZRZozNwf macOSのHomebrewいいね。Perlが最新の5.32.1に即対応。人柱上等なところに惚れる。
226デフォルトの名無しさん
2021/01/26(火) 07:49:52.25ID:ZI8ZD6Xl 安めの食材や有り合わせでうまいもん作れる腕があっても
腐ったものはどうにもできない
例えるなら、これだろ
腐ったものはどうにもできない
例えるなら、これだろ
227デフォルトの名無しさん
2021/01/26(火) 07:59:37.62ID:xVPuSdRM >>220
酔える水なら。
酔える水なら。
228デフォルトの名無しさん
2021/01/26(火) 11:52:17.15ID:XuLptVzr229デフォルトの名無しさん
2021/01/26(火) 13:45:24.16ID:uiGtA95I ちょっと腐ったほうが柔らかくなってアミノ酸も多いよ。
熟成させたと言えばグルメも安心だし。
熟成させたと言えばグルメも安心だし。
230デフォルトの名無しさん
2021/01/26(火) 13:48:13.24ID:uiGtA95I 野菜は立てておくと腐らないんだけど、その代わり成長するからね。
光合成できるかも?と思ってなけなしの養分使って葉を伸ばすんだろうけど、光合成は出来ません。
光合成できるかも?と思ってなけなしの養分使って葉を伸ばすんだろうけど、光合成は出来ません。
231デフォルトの名無しさん
2021/01/26(火) 13:54:11.58ID:uiGtA95I 野菜の活〆を発明したら儲かるだろな。
放射線以外で。
放射線以外で。
232デフォルトの名無しさん
2021/01/26(火) 21:06:31.25ID:Du8Hqhh0 いいかげんスレ違い。
233デフォルトの名無しさん
2021/01/26(火) 21:46:24.92ID:ZRZozNwf プリプロセッサマクロだらけの“汚い”コードを否定したらC/C++の強みを失うことになる。
JavaやC#はプリプロセッサマクロが貧弱なのが玉にキズだ。
JavaやC#はプリプロセッサマクロが貧弱なのが玉にキズだ。
234デフォルトの名無しさん
2021/01/26(火) 21:51:10.66ID:ZRZozNwf pybind11スレがないこんな世の中じゃ〜Python〜
まぁマクロの塊のような代物だが。
まぁマクロの塊のような代物だが。
235デフォルトの名無しさん
2021/01/27(水) 06:03:44.65ID:yQalyIAE C++はコミュニティで発言力のある人が大抵率直にものを言い過ぎる、悪く言えば口が悪いので忌み嫌われてるとこある
236デフォルトの名無しさん
2021/01/27(水) 07:30:48.85ID:eLUquqZ0237デフォルトの名無しさん
2021/01/27(水) 07:48:28.28ID:4l9V085Z でも、Linux板なんか失敗したボランティアの住所載せて、放火しろとは言ってませんよ??言ってませんよ??・・・などの書き込みあるからな。
それに比べれはだいぶ良識的では?
それに比べれはだいぶ良識的では?
238デフォルトの名無しさん
2021/01/27(水) 11:26:52.94ID:cJSBZXf9 C/C++のプリプロセッサも貧弱すぎ
239デフォルトの名無しさん
2021/01/27(水) 17:43:27.13ID:nPuTGnvU C++例外のスタック情報がとれないのはC++の欠点。
例外でスタック情報を使えるJava/C#/Python/Perlはエライ。
例外でスタック情報を使えるJava/C#/Python/Perlはエライ。
240デフォルトの名無しさん
2021/01/27(水) 21:51:38.91ID:NT655YPf おまえは二度とC++使うな
241デフォルトの名無しさん
2021/01/27(水) 23:04:53.57ID:TqcnYSNG >>239
スタックフレーム作ればイケるってば
スタックフレーム作ればイケるってば
242デフォルトの名無しさん
2021/01/28(木) 09:07:27.76ID:dmDIUcy2 >>235
例えば誰?
例えば誰?
243はちみつ餃子 ◆8X2XSCHEME
2021/01/28(木) 10:23:46.51ID:vBYpvnJx244デフォルトの名無しさん
2021/01/28(木) 10:52:39.05ID:dNWrUHbO >>223
フグは豚肉に触感似てるけどフグの方が美味い
フグは豚肉に触感似てるけどフグの方が美味い
245デフォルトの名無しさん
2021/01/28(木) 10:54:00.53ID:dNWrUHbO >>228
日本で感染爆発が起きてないのは以前からジビエが流行してたからか
日本で感染爆発が起きてないのは以前からジビエが流行してたからか
246デフォルトの名無しさん
2021/01/28(木) 10:55:14.42ID:dNWrUHbO >>230-231
白菜は外の皮じゃなくて中の芯から先に食べろと言われている
白菜は外の皮じゃなくて中の芯から先に食べろと言われている
247デフォルトの名無しさん
2021/01/28(木) 11:40:01.79ID:eLxqvNeX >>200
ユニコ時代だからAPLよりずっと先行ってるぞ
組み込み演算子で∩∉とか集合論の記号採用してたりアトミックな演算子は⚛++とか洒落効いてたりする
一方で古代perlのプレフィックスは緩和されてる
ユニコ時代だからAPLよりずっと先行ってるぞ
組み込み演算子で∩∉とか集合論の記号採用してたりアトミックな演算子は⚛++とか洒落効いてたりする
一方で古代perlのプレフィックスは緩和されてる
248デフォルトの名無しさん
2021/01/28(木) 11:51:37.25ID:eLxqvNeX ∅∘∩ ⊍∪ ⊖ ⊎ ∖≅ ∈ ∉ ∋ ∌ ≡
≢ ⊂ ⊄ ⊃ ⊅ ⊆ ⊈ ⊇ ⊉ ≼ ≽.«»≠
他組み込みではこんな感じか
>= やらよりmずっと可読性高いと思う、エディタもvimとか高機能なのなら問題なかろう
文字を表示してくれるのは特に便利
≢ ⊂ ⊄ ⊃ ⊅ ⊆ ⊈ ⊇ ⊉ ≼ ≽.«»≠
他組み込みではこんな感じか
>= やらよりmずっと可読性高いと思う、エディタもvimとか高機能なのなら問題なかろう
文字を表示してくれるのは特に便利
249デフォルトの名無しさん
2021/01/28(木) 11:58:59.45ID:kskG1wa2 >>245
さすがにコウモリはどこの地方でも食わんだろ
さすがにコウモリはどこの地方でも食わんだろ
250デフォルトの名無しさん
2021/01/28(木) 17:23:15.04ID:8Al9oSyF なんでプリミティブ型って継承できんの?
252デフォルトの名無しさん
2021/01/28(木) 17:41:41.73ID:GsoT0xyU クラスAのオブジェクトをクラスBのメンバにするときってどうやってAのコンストラクタ呼ぶの?
class B{
A a;
public:
B(){
// この辺でAのコンストラクタを呼びたい
}
};
class B{
A a;
public:
B(){
// この辺でAのコンストラクタを呼びたい
}
};
253デフォルトの名無しさん
2021/01/28(木) 17:48:00.82ID:WrE+/6so254デフォルトの名無しさん
2021/01/28(木) 18:07:20.07ID:IHrlZHr2 >>243
gdbはおいとくとして、Visual StudioってC++例外のスロー位置を追跡できたっけ?
gdbはおいとくとして、Visual StudioってC++例外のスロー位置を追跡できたっけ?
255デフォルトの名無しさん
2021/01/28(木) 18:50:38.47ID:Hqj+H5f7256デフォルトの名無しさん
2021/01/28(木) 18:54:30.61ID:IHrlZHr2 あとで再初期化したくなること多いから、結局コンストラクタの実装を別の関数に分離すること多いよね。
コンストラクタの種類が増えたら使いまわしたくなるし。
コンストラクタの種類が増えたら使いまわしたくなるし。
257デフォルトの名無しさん
2021/01/28(木) 19:24:37.48ID:q3mIN91/ >>243
デバッガ使いこなせないとか話にならんだろ・・
デバッガ使いこなせないとか話にならんだろ・・
258デフォルトの名無しさん
2021/01/28(木) 19:28:49.13ID:IHrlZHr2 デバッガやシンボルがない環境でもスタックトレースできたほうが良いと思うけどね。
後発言語の生産性の高さはこの辺の充実ぶりにあるでしょ。
後発言語の生産性の高さはこの辺の充実ぶりにあるでしょ。
259デフォルトの名無しさん
2021/01/28(木) 19:42:24.27ID:IHrlZHr2 他プロセスと連携するシステムにはデバッガを当てにくい事が多い。
タイミング依存の不具合を追跡する場合、デバッガがまったく役に立たない。
タイミング依存の不具合を追跡する場合、デバッガがまったく役に立たない。
260デフォルトの名無しさん
2021/01/28(木) 20:25:47.81ID:eBfsAdOM >>258
その手の生産性と成果物の効率はトレードオフでどっちを重視するかが違うだけでしょ
その手の生産性と成果物の効率はトレードオフでどっちを重視するかが違うだけでしょ
261デフォルトの名無しさん
2021/01/28(木) 20:36:13.14ID:IHrlZHr2 デバッガ使いこなすとか言って悦に入ってる人と会話が噛み合わないんだが。
262デフォルトの名無しさん
2021/01/28(木) 20:36:14.66ID:yp+dwtvR >>258
だよね
むしろデバッガをアタッチできる環境ならスタックトレースはなくてもなんとかなる
ユーザー環境でスタックトレースがテキストファイルに落ちるようになってるとトラブルシューティングがしやすい
だよね
むしろデバッガをアタッチできる環境ならスタックトレースはなくてもなんとかなる
ユーザー環境でスタックトレースがテキストファイルに落ちるようになってるとトラブルシューティングがしやすい
263デフォルトの名無しさん
2021/01/28(木) 21:29:31.41ID:oPlwADge >>261
ここほとんどアマチュアの人だから許してやろうやw
ここほとんどアマチュアの人だから許してやろうやw
264デフォルトの名無しさん
2021/01/28(木) 21:48:11.74ID:q3mIN91/265デフォルトの名無しさん
2021/01/28(木) 21:51:13.66ID:q3mIN91/266デフォルトの名無しさん
2021/01/28(木) 21:51:23.69ID:oPlwADge いやごめん、俺は流れは一切追ってなくて他意はないよ
茶化したかっただけ
気にしないで
茶化したかっただけ
気にしないで
267デフォルトの名無しさん
2021/01/28(木) 23:50:09.41ID:g6qVZG7L 発狂やないかw
Perlの人かな
Perlの人かな
268デフォルトの名無しさん
2021/01/28(木) 23:53:15.94ID:RfcrpqT0 >>253,255
じゃあ、Bを構築してしばらく経ってからわかる情報を使ってAを構築したいとき、Aのインスタンスをメンバとして持つのは不可能ということですか?
ポインタで持つ以外の方法はない (想定されてない?) のでしょうか
constなメンバ変数を初期化するときも近いことを思います
じゃあ、Bを構築してしばらく経ってからわかる情報を使ってAを構築したいとき、Aのインスタンスをメンバとして持つのは不可能ということですか?
ポインタで持つ以外の方法はない (想定されてない?) のでしょうか
constなメンバ変数を初期化するときも近いことを思います
269デフォルトの名無しさん
2021/01/29(金) 00:10:27.15ID:ZIYbfTXe >>268
そういうコンストラクタ制約を持つクラスはけっこう多い。
WindowsのC++向けGDI+ライブラリのクラス群はまさにこれが当てはまる。
広範に存在している以上は受け入れるしかない。
今時は標準でshared_ptrなどの共有ポインタクラスを使えるので、さほど問題にならないでしょ。
そういうコンストラクタ制約を持つクラスはけっこう多い。
WindowsのC++向けGDI+ライブラリのクラス群はまさにこれが当てはまる。
広範に存在している以上は受け入れるしかない。
今時は標準でshared_ptrなどの共有ポインタクラスを使えるので、さほど問題にならないでしょ。
270デフォルトの名無しさん
2021/01/29(金) 00:19:48.35ID:SRnp44iw >>268
Aに引数なしのコンストラクタ、コピーorムーブ代入演算子があるなら、後で作って代入でもいいけど
まぁ特に理由なければ(スマート)ポインタで持った方が無難だし楽
constはどうしようもない
Aに引数なしのコンストラクタ、コピーorムーブ代入演算子があるなら、後で作って代入でもいいけど
まぁ特に理由なければ(スマート)ポインタで持った方が無難だし楽
constはどうしようもない
271デフォルトの名無しさん
2021/01/29(金) 00:22:16.89ID:MWSZTtHp >>268
「Bを構築してしばらく経ってからわかる情報」を返すヘルパー関数を作って初期化リストの中で呼べばいいじゃない
「Bを構築してしばらく経ってからわかる情報」を返すヘルパー関数を作って初期化リストの中で呼べばいいじゃない
272デフォルトの名無しさん
2021/01/29(金) 07:49:13.10ID:/axUqcOX データメンバをconstってあんまりやらないな
publicに晒すとかじゃなきゃメンバ関数を
constにするだけで足りるから
あ、staticメンバのconstはよくやるけどね
publicに晒すとかじゃなきゃメンバ関数を
constにするだけで足りるから
あ、staticメンバのconstはよくやるけどね
273デフォルトの名無しさん
2021/01/29(金) 08:02:53.38ID:1V7SRlCX >>251
ある
実装は同じunsigned longでも意味が違うから別クラスとして扱いたいときとか
private継承できたらナア……
現状(C++03)はプリミティブ型と同じ演算子(のうちの当座のアプリケーションで使うやつ)をいちいち実装したクラスを作って
NDEBUGマクロで実装を切り替えるみたいな涙ぐましい努力が要る
ある
実装は同じunsigned longでも意味が違うから別クラスとして扱いたいときとか
private継承できたらナア……
現状(C++03)はプリミティブ型と同じ演算子(のうちの当座のアプリケーションで使うやつ)をいちいち実装したクラスを作って
NDEBUGマクロで実装を切り替えるみたいな涙ぐましい努力が要る
274デフォルトの名無しさん
2021/01/29(金) 08:05:13.74ID:1V7SRlCX 訂正orz
誤: private継承
正: public継承かつoperator unsigned long()はprivateかつunsigned longからの構築はexplicit
誤: private継承
正: public継承かつoperator unsigned long()はprivateかつunsigned longからの構築はexplicit
275デフォルトの名無しさん
2021/01/29(金) 08:08:37.91ID:1V7SRlCX メンバをconstにして代入演算子を定義せずにいるとデフォルトの代入演算子をが定義できないとコンパイラに文句を言われる俺環、
276デフォルトの名無しさん
2021/01/29(金) 09:20:50.39ID:koPyq8om277デフォルトの名無しさん
2021/01/29(金) 12:20:22.74ID:c2S2Mocm メンバ変数のconstはポインタ型ならすることあるけど、値で持つメンバ変数はあんまり意味なくない?
constなくても勝手に外部から書き換えられないように、ちゃんと隠蔽しとけばいいだけでしょ
constなくても勝手に外部から書き換えられないように、ちゃんと隠蔽しとけばいいだけでしょ
278デフォルトの名無しさん
2021/01/29(金) 12:35:16.78ID:2DekME/2 >>277
class内の処理においても変更しないつもりだ、変更されることはない、と明示することで意識しておかなければならないことを少し軽減できるのだから、無駄ではないと思う。
手間をかけずにconstにできるならしておけばいいし、逆に無理して複雑なことをしてまでconstにする必要はないという程度のことかと思う。
class内の処理においても変更しないつもりだ、変更されることはない、と明示することで意識しておかなければならないことを少し軽減できるのだから、無駄ではないと思う。
手間をかけずにconstにできるならしておけばいいし、逆に無理して複雑なことをしてまでconstにする必要はないという程度のことかと思う。
279デフォルトの名無しさん
2021/01/29(金) 12:55:03.34ID:c2S2Mocm280はちみつ餃子 ◆8X2XSCHEME
2021/01/29(金) 14:10:30.45ID:heeNhc25281デフォルトの名無しさん
2021/01/29(金) 16:04:20.47ID:5pIDnM+S >>251
3値のboolean作るときってboolean継承すべき?
3値のboolean作るときってboolean継承すべき?
282デフォルトの名無しさん
2021/01/29(金) 16:07:44.73ID:5pIDnM+S283デフォルトの名無しさん
2021/01/29(金) 16:10:21.66ID:5pIDnM+S >>259
COMサーバーというかDX用にフィルタ書いてると訳判らなくなった
COMサーバーというかDX用にフィルタ書いてると訳判らなくなった
284デフォルトの名無しさん
2021/01/29(金) 16:56:37.48ID:RxAp4EkX285デフォルトの名無しさん
2021/01/29(金) 17:20:59.69ID:ADFs+h5F boostにtriboolってのがあるな
286はちみつ餃子 ◆8X2XSCHEME
2021/01/29(金) 17:23:22.91ID:t7wU8l8M >>281
仮に真偽値型を継承可能であったとして、三値型が真偽値型を継承するのはおかしいだろう。
場合によって柔軟な判断が必要な場合はあるものの、
継承は is-a 関係を表したいときに限ったほうがよろしいというのが一般的な設計原則だと思うが。
仮に真偽値型を継承可能であったとして、三値型が真偽値型を継承するのはおかしいだろう。
場合によって柔軟な判断が必要な場合はあるものの、
継承は is-a 関係を表したいときに限ったほうがよろしいというのが一般的な設計原則だと思うが。
287デフォルトの名無しさん
2021/01/29(金) 17:25:47.23ID:GtDK4kd8 nullableか、DBのフィールド値?
288デフォルトの名無しさん
2021/01/29(金) 18:57:54.24ID:ZIYbfTXe はちみつ餃子「スタックトレースできないならデバッガ当てればいいじゃない」
289デフォルトの名無しさん
2021/01/29(金) 19:41:08.91ID:rAmh2V0K 典型的な円楕円問題だな
290デフォルトの名無しさん
2021/01/29(金) 19:56:26.71ID:ZIYbfTXe テンプレートを使えば、クラス継承に依存しない記述が可能。
iostreamが黒歴史扱いである現実を踏まえての話。
iostreamが黒歴史扱いである現実を踏まえての話。
291デフォルトの名無しさん
2021/01/29(金) 21:24:08.77ID:WFMo+mcm とりあえずiostream批判しとけば訳知り顔ができた気に浸れる浅はかなやつ
292デフォルトの名無しさん
2021/01/29(金) 21:35:39.96ID:nnAlz0gZ c++ニワカあるあるだよなw
iostreamとりあえず批判奴w
iostreamとりあえず批判奴w
293デフォルトの名無しさん
2021/01/29(金) 21:39:11.47ID:ZIYbfTXe iostreamは使いもしないメンバ変数を継承することを強要される悪い手本でしょ。
294デフォルトの名無しさん
2021/01/29(金) 22:16:38.63ID:WFMo+mcm 何も説得力を示さずに突然「悪い」と言い出す
295デフォルトの名無しさん
2021/01/30(土) 01:56:51.26ID:SJAC6oP5 iostreamはクソなのは正解だが別に批判するようなことでもない
なぜなら使わなければいいだけの話だからだ
なぜなら使わなければいいだけの話だからだ
296デフォルトの名無しさん
2021/01/30(土) 02:06:50.03ID:OHt9F1SU 無理にクラス継承を使わずオーバーライド関数とそれを使うテンプレート関数を充実させたほうが幸せになれる。
297デフォルトの名無しさん
2021/01/30(土) 02:41:04.49ID:PJvUkb6d 別に無理して継承を使っているわけではない
どっかの馬の骨が気に入らんからといって
あれを使うなこれを使うなと言われるほうが無理そのものだ
どっかの馬の骨が気に入らんからといって
あれを使うなこれを使うなと言われるほうが無理そのものだ
298デフォルトの名無しさん
2021/01/30(土) 02:53:37.72ID:OHt9F1SU 例えば、ファイルに書き込む処理があったとする。
ファイルハンドルとして有名な型としては、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");
}
ファイルハンドルとして有名な型としては、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:39.52ID:ULcRPxme ドヤってるところすまんがそれオーバーライドじゃない
300デフォルトの名無しさん
2021/01/30(土) 04:01:05.04ID:PJvUkb6d プゲラ
301デフォルトの名無しさん
2021/01/30(土) 05:45:11.84ID:SLqQC90z フリー関数とクラスメンバでは、インテリセンスが効くか効かないかの違いもある。
302デフォルトの名無しさん
2021/01/30(土) 05:52:17.44ID:OHt9F1SU そんなあなたに名前空間
303デフォルトの名無しさん
2021/01/30(土) 06:06:53.60ID:SLqQC90z クラスの場合、名前空間を書かなくても、インテリセンスが効く。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★2 [ぐれ★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★7 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… [BFU★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- 「高市人気」どこに? 自民候補が福島市長選で大敗、葛飾区議選でも苦戦 衆院早期解散論に冷や水 [1ゲットロボ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★3 [ぐれ★]
- 日本行きの航空便が50万件キャンセル。日本人「中国依存度が異常に高かったからちょうどいい😏」 [441660812]
- 日本人、ついに気づく「あれ、日本が対中国で取れる対抗措置ってなくない…?」 [931948549]
- 中国「水産物輸入停止は高市首相の発言が理由」 [256556981]
- 中国「次に禁止してほしいものを教えて」 [358382861]
- 【号外】中国外務省、高市首相が台湾関連の発言を撤回しなければ「断固たる対抗措置」を取らざるを得ないと述べた [115996789]
- 【悲報】高市早苗『嫌ああああああああああああぁぁぁぁぁっーーッッ!!私が何したって言うのよぉぉぉぉーッッ!!』 [527893826]
