[過去ログ] C++相談室 part164 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
706: (ワッチョイ 6dda-PUhn) 2023/08/29(火)11:29 ID:r8rvdmrM0(1) AAS
VCLのソースがないと中でなにやってるかワカランからな
707
(4): (ワッチョイ caad-VnR5) 2023/08/29(火)16:30 ID:2MvLEdvj0(1) AAS
ヘッダにインターフェースだけ書いてcppにインプリメントクラスを定義して隠蔽するのって
ライブラリとかフレームワークだと意味あるけどアプリケーションレベルの実装でやる意味って無いですよね?
708: はちみつ餃子◆8X2XSCHEME (ワッチョイ a13e-aWw4) 2023/08/29(火)16:40 ID:s7G+g/ai0(1/2) AAS
>>707
インターフェースって何?
709: (ワッチョイ d95f-1fgM) 2023/08/29(火)16:40 ID:Gj9jSZac0(1) AAS
インターフェースが何を指すか次第だけど、たぶんPimplイディオムのことかな?
ライブラリみたいに境界がかっちりしてないならそうかもね
710: 蟻人間◆T6xkBnTXz7B0 (スフッ Sdea-fyEs) 2023/08/29(火)16:40 ID:A1BJ1LVxd(1) AAS
>>707
ビルド時間を短縮する目的での隠蔽に使われることはある。隠蔽っていろいろ便利だから。
711: はちみつ餃子◆8X2XSCHEME (ワッチョイ a13e-aWw4) 2023/08/29(火)17:08 ID:s7G+g/ai0(2/2) AAS
pimpl は疎結合にできる分だけ
差分ビルドでコンパイルする範囲が
小さくなるから特に巨大なプログラムの開発では
ビルド時間を短縮する意味はあるはずだが
余計な構造を挟む煩わしさと比べて
割にあうのはよっぽど極端な場合に限ると思われている。
(意味はあるが意味のある状況は限定的)
712: (ワッチョイ a910-/+sI) 2023/08/29(火)22:48 ID:fHM5F2qI0(1/2) AAS
>>707
大きなアプリを、元請け社の元で複数の下請けが作っている場合、
お金の流れが全然違う他社のコードとリンクする事はあるよね。

で、紳士協定で「設計書で使っていいと言ってる機能だけ外部から使って」としても
約束を破るバカモノがいる場合もある。
信頼できない他社から自社の身を守る(徹夜で他社のバグ解析に付き合わされる事を防ぐ)など
レイヤー化する事には、もしかしたら意味があるかも知れないね

悲しい&バカらしいかも知れないけど

あとは逆に、自社の実装バグを見つけてアッー!ってなった時に、インタフェースを守ってる他社に、自社の実装変更&リリースによる「再ビルド要」の迷惑をかけてしまう事を防ぐ、意味はあるかも知れない
713: (ワッチョイ a910-/+sI) 2023/08/29(火)22:49 ID:fHM5F2qI0(2/2) AAS
いや、分からんな、ゴメン
714: (ワッチョイ 2501-xDGp) 2023/08/29(火)22:55 ID:82ATxlW40(1/2) AAS
デフォルトでpimplの俺は少数派か...
715
(1): (ワッチョイ 2501-xDGp) 2023/08/29(火)23:23 ID:82ATxlW40(2/2) AAS
C++はCの構造体をクラスに流用したからメンバー変数が見えてるけど
pimplのように隠れて然るべきが俺の持論
最適化の段階でinline化したい関数で触っている変数のみ
pimplの隠れた構造体から表の構造体に移動させているな
面倒くさくないかって? テンプレート用意してるから全然
716: (ワッチョイ 15b3-NdIe) 2023/08/30(水)00:04 ID:mW2zyf/K0(1/2) AAS
C++には不思議な魅力がある
C#
717
(1): (ワッチョイ 15b3-NdIe) 2023/08/30(水)00:05 ID:mW2zyf/K0(2/2) AAS
なんか途中で書き込みに行きやがった
JDimバグってないか???
718: はちみつ餃子◆8X2XSCHEME (ワッチョイ a13e-e+8E) 2023/08/30(水)00:13 ID:9akroxuQ0(1) AAS
>>715
隠すべきものが隠せていないのはそうだけど構造体を流用したことというよりも、
各翻訳単位でコンパイルしてからリンクするという C の手順を踏襲した都合だと思う。
他の翻訳単位の情報を見ずにコンパイルできる状況にするということを曲げないなら
オブジェクトの大きさを確定するのに必要な情報をクラス定義内に書く仕組みにせざるを得ない。
719
(1): (ワッチョイ 355f-vHpx) 2023/08/30(水)12:34 ID:biy0pv8/0(1) AAS
>707 が言ってるのはたぶん pimpl じゃなくて抽象クラス(=インターフェースクラス)を使った隠蔽じゃないかな?
pimpl より楽なので新規クラスではこっちしか使わなくなった。
720: (ブーイモ MMea-C1Tt) 2023/08/30(水)15:13 ID:STopcx5aM(1) AAS
>>719
メンバー関数の宣言が重複するのが
こちらは嫌なところかなぁ
721: (ワッチョイ 3e79-FVin) 2023/08/30(水)16:07 ID:bGhOLdki0(1) AAS
pimplなんてCでは普通のテクニックだったのにC++はいちいち大げさだなあ
722: (ワッチョイ 86fb-1XyZ) 2023/08/30(水)19:39 ID:rrx0kAlJ0(1) AAS
オタク界隈やと呼吸レベルで使いこなすよな
723: (スップ Sdea-0Z8Z) 2023/08/31(木)07:08 ID:wYoApzHMd(1) AAS
>>717
手元がバグってるだけじゃないかな(名推理)
724: (ワッチョイ c328-9M69) 2023/09/03(日)20:40 ID:uJA/UdoJ0(1) AAS
pimplのクラスか構造体の宣言だけ行うところでC++Testに文句言われる……
725: (アウアウウー Sae7-fXI3) 2023/09/04(月)10:15 ID:/ASAZOX6a(1) AAS
Rust使い過ぎてC/C++でclassとstructに;付け忘れはあるある
726
(2): (ワッチョイ 3378-+GqY) 2023/09/05(火)01:10 ID:6M2Epndy0(1/2) AAS
templateを使わなきゃpimplなんか必要ないだろ。
727: (ワッチョイ 4301-bHR5) 2023/09/05(火)01:16 ID:c+OS/OAh0(1/2) AAS
>>726
やっぱデフォルトでpimplの俺は少数派かなぁ
728
(1): (ワッチョイ 4301-bHR5) 2023/09/05(火)01:18 ID:c+OS/OAh0(2/2) AAS
>>726
というよく読んだら気付いたが
templateこそpimplと相性悪いのでは?
729: (ワッチョイ 3378-+GqY) 2023/09/05(火)01:36 ID:6M2Epndy0(2/2) AAS
あー、誰かが言ってるようにpimpl使わないと、ヘッダファイルだかCPPファイルだか1行修正しただけで全部再コンパイルされてしまうというのあったな。
730
(2): (ワッチョイ b67a-6I4L) 2023/09/09(土)00:14 ID:N+hvybCm0(1) AAS
自分に合うC++の本を探しています。
独習c++(高橋)を候補にしてます。
以下の程度の人に向いているでしょうか。

Cはポインタを含めてほぼすべて分かります。

C++は昔、クラス周辺の文法を林本で理解したものの、ほとんど書いてないので設計ノウハウがなく、ここは強化したい点です。

C++11より前なので11以降が分かりません。テンプレートやベクターもまったく分かりません。
731: (オイコラミネオ MM63-SjEv) 2023/09/09(土)00:39 ID:uw9REbuTM(1/4) AAS
なんで一冊だけ決めて勉強するのか意味不明なんだな
とりあえず読め
沢山読んだら死ぬのか?
732: (ワッチョイ 2328-E2FL) 2023/09/09(土)00:40 ID:JvG/rAdc0(1/4) AAS
>>728
むしろ発想が逆で、templateを使い倒して書いたモジュールをの公開インターフェースからtemplateの痕跡を消してしまうのに使う
733: (オイコラミネオ MM63-SjEv) 2023/09/09(土)00:42 ID:uw9REbuTM(2/4) AAS
ここにいる連中は太古の昔に入門して入門書なんて無縁なんだ
良書などなく分厚くて誤訳満載の本を読んで勉強して血を流しながら進んだ
何冊も読んだ

タイパなんてくそくらえ
到達したいところがあるなら時間を掛けろ
734: (ワッチョイ 2328-E2FL) 2023/09/09(土)00:44 ID:JvG/rAdc0(2/4) AAS
今日聞いたのですだがオンライン辞書サービス Dictionary.com にアルゴリズムの短縮形 algo が追加されたらしい
すっかり定着したコンストラやデストラといった略語もそのうち辞書に載るかも……
735: はちみつ餃子◆8X2XSCHEME (ワッチョイ ff3e-1kEh) 2023/09/09(土)01:21 ID:Ig5iuvnc0(1/5) AAS
C++ は一般原則で示せない変則的なルールも多いのでそういうのはまるごと知っておくしか仕方がない。
そういったルールの分量が単純に多いから学習するにはたくさん読まないといけないのも仕方がない。

僅かだが互換性を損なう仕様改定もあるし、作法が変わった部分もあるので混乱しないように古すぎる資料は避けた方がよさそうという程度の助言は出来るけど具体的に現代的な入門書というと手堅いものは挙がらんのよな……
1-
あと 267 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.031s