[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 05/04 08:29 / Filesize : 258 KB / Number-of Response : 1031
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part134



1 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 09:05:42.21 ID:mJKRg6iz0.net]
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part133
mevius.5ch.net/test/read.cgi/tech/1511509970/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
mevius.5ch.net/test/read.cgi/tech/1509780815/

■長いソースを貼るときはここへ。■
 codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

910 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:18:25.09 ID:xx4XvERn0.net]
変数がない状態でもテストに通るように作るべきだからpublicで変数を持たせる機会が一瞬もない

911 名前:デフォルトの名無しさん [2018/03/29(木) 12:18:48.50 ID:+dX3Weor0.net]
C++builderってプロパティなかったっけ。
たいそう便利だったような気がするのだが、思い違いだろか。

912 名前:デフォルトの名無しさん [2018/03/29(木) 12:19:57.65 ID:+dX3Weor0.net]
そもそも最近のGUIビルダってC++ビルダーの影響受けまくってるような感じがする。

913 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:20:28.54 ID:ONnwnPbh0.net]
トップダウンで理想から考えるのが早い
どういう風に書ければ満足するんだ

914 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:26:29.79 ID:f5JOZCzba.net]
>>882
パースが面倒になるとは思えない
変数と同じ使い方なんだから変数のようにパースするだけだと思うが…

それにお前はコンパイラつくらないじゃん

915 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:28:52.39 ID:f5JOZCzba.net]
c++0x()以降の理念で仕様策定だけしたらいいじゃん
基本機能を妨げないように仕様追加

使うかどうかは本人次第
誰も強制しない

916 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:30:14.95 ID:f5JOZCzba.net]
拡張forもautoも馬鹿みたいに文句言ってたけど今でも使うなって言う人はいるのかな

917 名前:デフォルトの名無しさん [2018/03/29(木) 12:31:30.92 ID:+dX3Weor0.net]
使うな!

918 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:31:44.70 ID:f5JOZCzba.net]
わかりました使いません…



919 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:59:19.47 ID:mREgEFijd.net]
頭かったwwww

920 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 13:03:56.15 ID:xx4XvERn0.net]
>>888
これらを採択する人の中にGCCやMSVCの人がいないわけないじゃん
関数として扱うのか、変数として扱うのか決めなきゃいけない
そしてどうやってポインタをとるのかなど色々な問題がある
そしてさっきも言ったけど括弧を少し減らせるだけでできることが増えるわけじゃないというのが最大の問題

921 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 13:16:13.95 ID:f5JOZCzba.net]
得意げにご高説を垂れ流してる最中に申し訳ありませんが

a.value++;

a.value()++;
は別物
あえてみんなスルーしてくれてるのに

922 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 13:20:41.15 ID:ng76gyv10.net]
>>895
参照返しなら同じでは?

923 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 13:33:25.09 ID:f5JOZCzba.net]
ん?
参照した値を変えるとGUIの表示とか更新してくれんの?
getterとsetterあったとして実行してくれんの?

a.width()とa.widthが同じgetter的な動作してくれるのはわかるけど

924 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 13:38:37.15 ID:mREgEFijd.net]
アンチプロパティの人なんでそんなに必死なん?

925 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 13:47:08.78 ID:xx4XvERn0.net]
>>897
プロキシクラス

926 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 14:39:11.63 ID:BTFPAIj5d.net]
GUIの表示を更新するように作れば更新される

927 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 14:39:13.31 ID:DoW8QBEn0.net]
a.value()++; が参照返しとかどんだけヘボいんだよw
リファレンサのprvalueだろjk

928 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 15:02:55.47 ID:f5JOZCzba.net]
プロパティ不要とは言うけどそもそものプロパティの仕組みと効果はわかってないんだね
こんな人ばかり



929 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 15:57:57.60 ID:or4Xspy50.net]
何スレか前にもプロパティの議論あったんだけどね・・
少なくともgetter/setterを自動生成する、みたいなクソな機能ではないぞ

930 名前:はちみつ餃子 mailto:sage [2018/03/29(木) 16:02:08.91 ID:frx7qa9h0.net]
俺もそのとき発言してた
https://mevius.5ch.net/test/read.cgi/tech/1490917669/683

931 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 17:26:54.17 ID:T1PPEJjr0.net]
>>885
Builderだけtry-finallyセクション使えたり次元が違う希ガス

932 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 20:10:56.09 ID:LRHKAKcy0.net]
>>877
A.extendWidth(20);

それを書くことが便利で必要なクラスだったらそういう操作を作るべきだな

933 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 21:38:46.24 ID:1OB4BLGUM.net]
>>885
あったよ
>>905も含めて当時はネイティブコードを吐くC#みたいな感じだった
もう少し頑張れるかと思ったけど、Visual Studioの便利さに負けたと思ってる

934 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 21:46:54.75 ID:6IJhuxisM.net]
カーンを首にしてアプリ側に振ったのが敗因だったな
膨大なdbaseの資産も全く使えなかったのはNetaWareと
同じだった

935 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 01:25:11.99 ID:6elBmHqP0.net]
>>903
え、違うの?

936 名前:はちみつ餃子 mailto:sage [2018/03/30(金) 04:42:18.00 ID:AQ2aJRgB0.net]
>>909
違うよ。
デフォルトでのゲッタ/セッタを提供したりすることはあるけども、 >>904 で言及している通り「変数に見せかける」機能。

937 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 06:43:57.86 ID:MnRWcQoLM.net]
そもそも変数に見せかけると言うプロパティ自体の話とgetter/setterの自動生成の話は全く別物で>>903で比較してる意味がわからん
たぶん本人もちゃんと理解できてないんだろうな...

938 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 07:46:44.11 ID:QwXbOxz8M.net]
>>906
例えば座標なら+=使えた方が楽じゃね



939 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 08:33:24.78 ID:x9Ml4xAFM.net]
>>910
なんだそういうことか。それも含めて単なる自動生成だと認識してたよ。

940 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 08:34:01.73 ID:trt/A0j+0.net]
そうやってソフトが重くなって行くわけだな

数値の += なんて軽いと思って何度も呼んだら
実は描画や保存も何度も呼ばれてしまうとか

941 名前:デフォルトの名無しさん [2018/03/30(金) 08:42:16.05 ID:u8hlmR9G0.net]
それはプロパティに限った問題ではないな

942 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 08:45:16.06 ID:+sennHugd.net]
プロパティってそれ単体で取り出せるの?
それなら使えるな

943 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 08:52:02.87 ID:HVaF4kSpd.net]
呼ばれる側 : そんな何度も呼ばれるとは思わなかった
呼ぶ側 : 重いとは思わなかった

944 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 09:52:35.47 ID:mPLnga/50.net]
少なくともAdd()なら何かしらの関数を呼んでいることはわかる

945 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 11:31:23.82 ID:3ziE5qsO0.net]
プロパティでもなんらかの関数が含んでいることはわかるが

946 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 11:45:01.30 ID:mPLnga/50.net]
それがただの変数なのかプロパティなのかは調べるまでわからない

947 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 11:57:28.30 ID:27QTfa4qd.net]
調べろよ

948 名前:デフォルトの名無しさん [2018/03/30(金) 11:58:36.02 ID:u8hlmR9G0.net]
変数でも演算子がオーバーロードされてる場合もあるからな
結局調べないとダメ



949 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 12:01:32.59 ID:27QTfa4qd.net]
っていうか>>884いわく、publicな変数は有り得ないらしいし、そういう運用してるなら考えるまでもなくプロパティじゃん

950 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 15:53:31.37 ID:l98ixrSj0.net]
>>911
お前のレスの意味がわからん
実際C#もソースコード公開されてるソフトの改造程度にしか触ったことないんでちゃんと理解してないが
getter/setterの自動生成するだけのクソ機能と誤解してる人がこのスレでも前スレでも見られたから
>>903を書いただけなんだが

というか書き込む前の1〜2レスすら読めんのかお前は

951 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 17:21:54.28 ID:6y8tfNRe0.net]
C++erが通常prvalueで返しているリファレンサを、データメンバにするってことなら
テンポラリを作らなくなる分、速度的なメリットはありそうだな

# でも、俺はイヤだな
# データメンバがドカドカ増えるのがなんか気持ち悪い
# 慣れの問題っちゃそうかも知れんが

952 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 17:39:33.77 ID:+sennHugd.net]
>>899
言いたいことがわかった気がする

953 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 17:42:52.50 ID:HVaF4kSpd.net]
やっとかよ

954 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:19:26.33 ID:MnRWcQoLM.net]
>>924
だからそんな誤解してるのはお前と同レベルのバカだけだろ w
言語仕様の話とIDEの機能の区別もつかないアホなんて放置でいい

955 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:30:23.19 ID:3ziE5qsO0.net]
自分から絡んで行ってバカ呼ばわりとはこれいかに

956 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:51:58.09 ID:MnRWcQoLM.net]
またバカが絡んできたよ w

957 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:59:28.09 ID:l98ixrSj0.net]
>>928
いや、なんか根本的に誤解されてる気がするが
C#とかだと、多分プロパティ作ると自動である程度書いてくれるんだろうけど
その話じゃなくて「C++におけるpublicなGetXX(), SetXX()が暗黙的に作られる(だけ)」、みたいな誤解
(C#やBuilder知らずに議論をぱっと見するとそういう誤解しがち、俺も以前はしてたが)
があるんだよな
説明不足だったかもしれんけどIDEの支援機能の話ではない

というか前スレのリンクにあったブログの
ufcpp.net/study/csharp/oo_property.html?key=property#property
これが個人的にはわかりやすかった

958 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:21:54.96 ID:FlBD8vqz0.net]
Javaのイメージなのかな?
あれはJavaBeansとかいうゴミ規約のせいで本当にGetXX()とSetXX()を作るだけのゴミ機能がIDEに標準装備だったりする



959 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:27:33.97 ID:3ziE5qsO0.net]
まあプロパティある言語触ったことないやつは勉強不足だから無視していいって言うのは一理ある

960 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:59:35.93 ID:trt/A0j+0.net]
>>931
現状のメンバへの代入や値取得が
暗黙的に作られるgetter/setter

プロパティが採用されてもこの辺はなんら変わらないかと

961 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:16:15.58 ID:8D6duvwPM.net]
お前らの書き込み見ると、プロパティがものすごい大発明なんじゃないかと錯覚するけど
変数のようにかける件を含めても糖衣構文以上のものじゃないだろ。
+=したけりゃそういうプロキシ書けばいい。

962 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:21:10.98 ID:trt/A0j+0.net]
お前らってだれだよ
一人だけだろプロパティ信者

963 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:25:41.11 ID:trt/A0j+0.net]
これ以上言語機能を増やさなくて良い
コンパイラが規格に追い付いてなくて互換性が崩れる

964 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:28:08.90 ID:FlBD8vqz0.net]
クソ機能というわけではないが、ものすごく便利というわけでもない
あればあったで使うけど、ないならないで困らないし、言語設計として採用するしないの判断はどっちもあり
C++は採用しない判断をした

その程度の話

965 名前:デフォルトの名無しさん [2018/03/30(金) 23:12:27.73 .net]
実体が関数なら漢らしく見た目も関数にしろよwww

見た目が変数なのに処理が走るとか、見た目が割り算なのに文字列連結するとか変態野郎は死にくされやwwwww

966 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 23:32:31.76 ID:l98ixrSj0.net]
その辺はC++のコンストラクタ・デストラクタに嫌悪感を示すCユーザーが昔よく言ってた台詞と似てるw
「裏で何が起きてるかわかりづらいから嫌だ」、とかね
別に本気でプロパティ推してるわけじゃないが、いざプロキシクラスで代用しようとするとめんどい
ETなんかを仲介するとテンプレートの実体化の数でコンパイラへの負担がデカいし、
メンバ関数の呼び出しをサポートしようとすると継承が必要になるし・・・それなりに問題点はある

967 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 23:40:02.53 ID:vpP76l93d.net]
>>935
大発明じゃなくて、もはや常識。C++にはないって聞いて最初驚いたもん
いやまあたしかになくてもいいんだけど、演算子オーバロードはあるのにプロパティはないって変な言語だわ

968 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 23:41:38.85 ID:vpP76l93d.net]
>>939
それiostremディスってんの?



969 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:11:17.76 ID:o3PNwIlC0.net]
>>941
お前が驚くと凄いことなん?

970 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:12:18.16 ID:aFk+9CH40.net]
>>942
>>942はiostreamを擁護する気か

971 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:19:06.77 ID:iyPH7JTK0.net]
ダイヤモンド継承使われてるんだっけ
あれ使ったことないな
いらない機能だと思うなら使わないってだけだしプロパティはあった方がらくだと思うけどね
独自拡張でつけてるのもあるし

972 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:25:31.98 ID:NJ7AGlMvd.net]
>>943
凄くないよ
>>944
すまん。適当書いたけどiostremは擁護出来ねえわ

973 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:47:52.27 ID:C63IJ9vb0.net]
iostreamの<<チェーンが実は最近まで規格上未定義動作だった話は正直呆れた

974 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 01:02:47.99 ID:19OTzhSN0.net]
採択されてもプロパティのアドレスをどうやって取るのかっていうことで標準化委員会で揉めて10年は停滞する

975 名前:はちみつ餃子 mailto:sage [2018/03/31(土) 01:48:24.57 ID:nFIfPX7B0.net]
>>948
サブオブジェクトがユニークアドレスを取れなくてもいいことを示す [[no_unique_address]] 属性が C++20 のドラフトに入った。
www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0840r1.html
オブジェクトがユニークなアドレスを持つ原則を捨てたわけ。

これを踏襲するなら、プロパティのアドレスは取れないってことにして解決するのが自然で、揉める余地はそんなにないと思う。
実際にアドレスは存在しないわけだし、存在しないものを返しようがないじゃん。

976 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 02:09:16.31 ID:19OTzhSN0.net]
>>949
最初のプロパティの提案がいつかはしらないけど
実際にこれが決まったとして最短で2020年
そこから更に何年かかるのか

977 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 04:29:43.55 ID:O6Ruc86y0.net]
抽象クラス"Super"から派生した子クラス、"A", "B", "C"があったとします。

Super* obj1 = new A();
Super* obj2 = new B();
Super* obj3 = new C();

訳あって動的に作成したインスタンスobj1〜3を一度deleteしたのち
再び同じ子クラスでインスタンスを作成しようと思います。

obj2がクラスBのインスタンスであることが一目で分からない場合に
obj2がクラスBのインスタンスであることを突き止め、一度deleteし、
再度クラスBでインスタンスを作成する方法はあるでしょうか?

ちなみに必死に考えて考えついた方法ですが
クラスA, B, Cにそれぞれ「私はAクラスです」「私はBクラスです」みたいな
文字列を出力する共通メソッドをpublicで作成し、そのメソッドを実行して
帰ってきた文字列からそれがどのクラスのインスタンスか判別が付くのではないかなと思いました。
決してスマートな方法とは言えませんが・・・

もっとスマートな方法はありますか?

978 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 04:37:13.22 ID:350O8bDz0.net]
・・・?
typeidじゃアカンの?



979 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 05:55:27.21 ID:15qJIIAA0.net]
class B : public Super
{
public:
Super* re_new() override
{
delete this;
return new B{};
}
};

980 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 06:37:47.25 ID:C63IJ9vb0.net]
>>949
単純に &obj.int_prop と書いた時に、この式の型と値をどうするかは難しい問題じゃない?
intの一時オブジェクトへのポインタ、intのぬるぽ、int_propのgetterへの関数メンバポインタ、ill-formed
どれも問題あると思う

981 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 06:47:39.87 ID:8va89mAu0.net]
プロパティを関数として実装したら関数のアドレスは取れるんじゃないかなぁ。はぁ、実装依存ですか。

982 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 08:02:21.38 ID:5h07DQhTa.net]
>>951
全然スマートじゃないがvisitorパターン使えば?

983 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:03:59.00 ID:OaeapR1O0.net]
>>954
> 単純に &obj.int_prop と書いた時に、この式の型と値をどうするかは難しい問題じゃない?
エラーにしちゃえばいいだろ

984 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:14:46.66 ID:HGehdmya0.net]
つまり意識しなきゃならんてことか
じゃあ素直に関数にしろよ

985 名前:はちみつ餃子 mailto:sage [2018/03/31(土) 09:16:04.32 ID:nFIfPX7B0.net]
>>954
一時オブジェクトへのポインタってことにする一択だと思うけどなぁ。

あくまでも「変数に見せかける」、
つまりは、ゲッタの呼出しに構文糖を付けて見かけ上だけ変数 (データメンバ) っぽいって立場を貫かないと、
余計な気を回してもわかり難さが増すだけだよ。
rvalue なのは仕方がない。

986 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:16:21.25 ID:Nj0xu+770.net]
どうしてアドレスを取りたがるのかよくわからない
クラスのメンバ関数だってアドレス取れないだろ

987 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:18:00.18 ID:Nj0xu+770.net]
ああメンバ仮想関数な

988 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:18:37.44 ID:8va89mAu0.net]
>>960
メンバ関数のポインタ構文が何故あるのですか?



989 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:18:44.11 ID:8va89mAu0.net]
あー。

990 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:22:26.84 ID:Nj0xu+770.net]
訂正しただろ
仮想関数はアドレスが取れないだろ

991 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:23:29.95 ID:15qJIIAA0.net]
取れるよ、何言ってんの
そのポインタは動的結合までできる優れもの

992 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:25:45.36 ID:Nj0xu+770.net]
出来ないよ
何いってんの

993 名前:はちみつ餃子 mailto:sage [2018/03/31(土) 09:26:00.49 ID:nFIfPX7B0.net]
>>960
変数に見せかける以上は変数と同じようにふるまうことを期待するってのは普通の要求じゃないか?
データメンバに対して操作するテンプレートはプロパティを操作するテンプレートとしても使えて欲しい。
でもまあ充分に「見せかける」ことが出来ないのなら問答無用でエラーになった方がマシではあるかもしれん。

994 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:41:17.12 ID:C63IJ9vb0.net]
objがlvalueなのにobj.int_propがrvalueになるのはまずいと思うんだよなあ
うっかり関数の戻り値でその参照なんか返そうものなら相当わかりにくいバグになる
C#とかはその辺の問題どう解決してるのかしらね

995 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:48:31.98 ID:Nj0xu+770.net]
property int count {
>>() {return count_ ; } // getter
<<(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
};
みたいにアドレス抽出用のメソッドを追加すりゃ良いだけのような気がする

996 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 10:00:37.36 ID:HGehdmya0.net]
コードを減らす為の規格追加でコードを増やす解決法

う〜ん

997 名前:はちみつ餃子 mailto:sage [2018/03/31(土) 10:21:02.77 ID:nFIfPX7B0.net]
>>970
これは抽象化の話なんだよ。
変数のように見せかけるためには何が必要かって話なの。

998 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 10:29:50.12 ID:15qJIIAA0.net]
>>966
https://ideone.com/1J8uwf



999 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 10:35:19.80 ID:Nj0xu+770.net]
property int count {
() {return count_ ; } // getter
=(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
++() {return ++count; } // incrementer
}
この方がしっくり来るな

1000 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 10:56:40.26 ID:aygih7Tkd.net]
予約語を増やすとどれだけの影響があるか
なんて考えたことはないのかな?

1001 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 10:57:47.19 ID:aygih7Tkd.net]
まあここはC++相談室
おれが考えた最強言語を語るところじゃない

1002 名前:はちみつ餃子 mailto:sage [2018/03/31(土) 11:05:17.81 ID:nFIfPX7B0.net]
opaque definition でゲッタを定義できるように拡張すればプロパティ専用の構文を導入する必要なく
プロパティを実現できるのではないかと妄想していた。

1003 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 11:10:24.41 ID:Nj0xu+770.net]
using count = int {
() {return count_ ; } // getter
=(int cnt) {SetCount(cnt):} // setter
&() {return &count_;} // address getter
++() {return ++count; } // incrementer
};
予約語増やさないならこんな感じに書けなくもない

1004 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 11:21:25.52 ID:Pb+ZodvD0.net]
プロパティの実装の議論までここでするか?
Dと同じでいいじゃん

1005 名前:はちみつ餃子 mailto:sage [2018/03/31(土) 11:23:19.53 ID:nFIfPX7B0.net]
前提が違うものを同じには出来ないよ。
参考にすることはあると思うけど。

1006 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 12:19:04.21 ID:+mjd8c8id.net]
仮想関数のアドレスが取れないという発言は何だったんだろう

1007 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 13:29:05.67 ID:19OTzhSN0.net]
>>951
std::pair<Super*,std::string> obj2 = std::make_pair(new B(), "ClassB");

1008 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 13:32:44.21 ID:aygih7Tkd.net]
スレチ
次スレまで引きずるなよ



1009 名前:デフォルトの名無しさん [2018/03/31(土) 13:50:16.75 .net]
>>951
クラスA, B, Cにそれぞれ自分自身のインスタンスを生成するstaticメソッドを用意し、
そのstaticメソッドへのポインタを返す共通メソッドを用意する。

1010 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 14:23:30.31 ID:aFk+9CH40.net]
リフレクションがある言語でGUIの画面またはユーザーコントロール

1011 名前:作成する際に
YSIWYGで作ることをやれるIDEを作りたい、というときに、メンバー関数とプロパティーの2種類あったら便利なのや

C++にプロパティー入れたらリフレクションも来るでこれは…

もっとも上記課題解決のための技術は10年も前にWPFの登場で丸ごと過去の技術やがな…
[]
[ここ壊れてます]

1012 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 14:30:32.65 ID:aFk+9CH40.net]
ていうかWPFのコンバーターの書き方とか、メンバ関数に逆戻りやぞ…
(IValueConverter.Convert(), IValueConverter.ConvertBack(),
 IMultiValueConverter.Conver(), IMultiValueConverter.ConvertBack(), ...

1013 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 15:43:53.79 ID:UG1yVXDXa.net]
リフレクションはゴミとまで言わないけどc++にはいらない機能

1014 名前:デフォルトの名無しさん [2018/03/31(土) 16:09:17.20 ID:D1vbg0pQ0.net]
リフレクションがあれば死なずに済んだ人もいるだろうに。

1015 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 16:37:26.06 ID:UG1yVXDXa.net]
デバッグでリフレクション使うのか?

1016 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 20:24:42.16 ID:o3PNwIlC0.net]
C++相談室 part135
mevius.5ch.net/test/read.cgi/tech/1522495206/

もう糞テンプレいらないよね?
あと死ね

1017 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:27:57.63 ID:u+oLKOIo0.net]
うむごくろう。

1018 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:13:20.31 ID:JVL2cf0wa.net]
c++のfriendはprivateメンバーすべてにアクセスできてしまうけど特定の変数だけ、もしくは特定の関数だけfriendにする事は可能でしょうか?



1019 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:43:04.30 ID:nEv6CmIlM.net]
>>991
ピンプるか、○○って俺の友達の友達なんだぜーにしてしまうか、かなー

1020 名前:デフォルトの名無しさん [2018/04/01(日) 19:11:40.34 ID:BG5JJopwa.net]
pimplイデオムはなんとなくわかるけど、俺の友達の友達は編集したい対象を別のクラスに分けてしまうこと?

1021 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:21:44.04 ID:WPbk7cUz0.net]
そういえばシステムハンガリアンはしばしば批判されるのに、pimplのpは批判されているのを見たことがないな。

1022 名前:はちみつ餃子 mailto:sage [2018/04/01(日) 21:12:28.11 ID:47FEpc5z0.net]
https://www.google.com/search?q=%E5%8D%8A%E5%88%88%E3%82%8A&tbm=isch

1023 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 22:32:25.37 ID:EwuQ9U5u0.net]
(餃子が (御乱心 (されたぞー)))

1024 名前:はちみつ餃子 mailto:sage [2018/04/01(日) 23:03:08.00 ID:47FEpc5z0.net]
>>996
そこは「ハンガリアンじゃなくて半刈りやん」って言って欲しかった。

1025 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 07:54:09.78 ID:t04teqlda.net]
いやいやこんなの丸刈りやん

1026 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 09:36:33.18 ID:E1iWIfmB0.net]
>>984
YSIWYGってなに?

1027 名前:デフォルトの名無しさん [2018/04/02(月) 11:52:25.29 .net]
>>999
WYSIWYGのtypoなだけやん
アスペか

1028 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 12:50:23.03 ID:E1iWIfmB0.net]
訂正だろ? 態度悪いなおまえ



1029 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 72日 3時間 44分 41秒

1030 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef