次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part133
http://mevius.5ch.net/test/read.cgi/tech/1511509970/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
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++相談室 part134
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 5fcb-Q2eK)
2018/01/20(土) 09:05:42.21ID:mJKRg6iz0859デフォルトの名無しさん (ワッチョイ d180-3UCh)
2018/03/29(木) 01:14:03.03ID:+dX3Weor0 我々が間違っている公算も高い。
我々はC++を使いこなせる。
だから、C++なら簡単にできるのになぜそうしない?と思ってしまうが、これから学ぶならC#のほうが簡単だろう。
MSがC#を推すのは正しいのかもしれない。
我々はC++を使いこなせる。
だから、C++なら簡単にできるのになぜそうしない?と思ってしまうが、これから学ぶならC#のほうが簡単だろう。
MSがC#を推すのは正しいのかもしれない。
860デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/29(木) 01:20:39.82ID:xx4XvERn0 C#はビジネス用だから
より早く大量にコードを生産することを目的としているからC++とは用途が違う
より早く大量にコードを生産することを目的としているからC++とは用途が違う
861デフォルトの名無しさん (ワッチョイ 7923-KOzE)
2018/03/29(木) 02:12:12.07ID:Hc4kPWXM0 Android でも iPhone でも Windows でも使える共通部分のコードは c++ で、
ってのを C# に変えたいのかもしれんが
別段 c++ で不自由ないしなあ…
てか c# って .Net のイメージ強すぎて単体で使える気がまるでしない
ってのを C# に変えたいのかもしれんが
別段 c++ で不自由ないしなあ…
てか c# って .Net のイメージ強すぎて単体で使える気がまるでしない
862デフォルトの名無しさん (ワッチョイ 9334-3URi)
2018/03/29(木) 03:27:22.16ID:T1PPEJjr0 未だにproperty実装出来ていないC++標準仕様が異常なんだぜ
そりゃMSも堪忍の尾が切れるってもんだぜ
そりゃMSも堪忍の尾が切れるってもんだぜ
863デフォルトの名無しさん (ワッチョイ 4104-2GNe)
2018/03/29(木) 04:16:13.07ID:Ng8O1HeK0 ら、ライブラリで実装できるから・・・。
ちなみに、プロパティっぽい提案は過去出てるが、全くテーブルに乗らない。
ちなみに、プロパティっぽい提案は過去出てるが、全くテーブルに乗らない。
864デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/29(木) 04:45:16.84ID:xx4XvERn0 誰もプロパティを欲していないのである
865デフォルトの名無しさん (ワッチョイ 3181-vyEq)
2018/03/29(木) 06:44:05.72ID:izMMXIg60 俺も欲しくない
コスト予測し辛杉デフ
コスト予測し辛杉デフ
866デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
2018/03/29(木) 07:38:47.09ID:LRHKAKcy0 C#はいい言語だよ
Linq便利だし
ただC++とは用途が違うってだけ
Linq便利だし
ただC++とは用途が違うってだけ
867デフォルトの名無しさん (ワッチョイ 93e7-qGf7)
2018/03/29(木) 08:06:33.99ID:qluMmKIH0 何度聞いてもプロパティが欲しいという思いが沸かないんだが
868デフォルトの名無しさん (ワッチョイ d3bd-qsUw)
2018/03/29(木) 08:10:21.70ID:FDAIDKLE0 ウィンドーズホンでネイティブC++とC++/CXの間を取り持つwrapperを書くのに使う
Wrapperを書くのに便利
Wrapperを書くのに便利
869デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 10:37:15.71ID:+tUOh99Na プロパティが使えたらMFCのような糞環境でUpdateDataを使わなくてよくなる
プロパティに代入で表示が変わり
プロパティからそのまま値が取り出せる
プロパティに代入で表示が変わり
プロパティからそのまま値が取り出せる
870デフォルトの名無しさん (ワッチョイ d180-3UCh)
2018/03/29(木) 10:39:27.42ID:+dX3Weor0 しかしVisual Studioは何だってUTF-8で保存されるのをそんなに嫌うんだろうか。
あの手この手でUTF-8で保存するのを妨害してくるけど。
あの手この手でUTF-8で保存するのを妨害してくるけど。
871デフォルトの名無しさん (ワッチョイ d180-3UCh)
2018/03/29(木) 10:40:42.80ID:+dX3Weor0 VSで開発してLinuxに移植されるのを嫌がってるんだろうかね。
その割にはgdbと接続できるようにしてるし。
その割にはgdbと接続できるようにしてるし。
872デフォルトの名無しさん (ワッチョイ 7923-KOzE)
2018/03/29(木) 10:47:23.77ID:Hc4kPWXM0873デフォルトの名無しさん (ワッチョイ d3cb-436e)
2018/03/29(木) 10:47:32.92ID:+dsdqxPO0 >>869
それはsetter/getterではできないことなんだな?
それはsetter/getterではできないことなんだな?
874デフォルトの名無しさん (スップ Sdf3-Myl/)
2018/03/29(木) 10:57:10.36ID:HNpF58Nud a.Hoge+=100;
みたいな事をできて便利だなと思うことはあるけど無けりゃないでいいわレベル
みたいな事をできて便利だなと思うことはあるけど無けりゃないでいいわレベル
875デフォルトの名無しさん (ワッチョイ 59d3-kUw7)
2018/03/29(木) 11:06:30.37ID:q+sj+Afe0 プロパティはメソッドともフィールドとも区別できるメタデータとしての活用が唯一の動機なんだが
結局のところ実行時の型システムまで整備しないととただの構文糖だしなあ
結局のところ実行時の型システムまで整備しないととただの構文糖だしなあ
876デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 11:06:41.49ID:+tUOh99Na877デフォルトの名無しさん (アウアウウー Sa45-wAfm)
2018/03/29(木) 11:10:04.25ID:jtsbgEO5a >>876
後者の方が好きだな
後者の方が好きだな
878デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 11:14:39.59ID:+tUOh99Na a.value++とかif(a.Width==100)とか
普通に書けるものをわざわざgetter setter書きたいんだな
変ってる
普通に書けるものをわざわざgetter setter書きたいんだな
変ってる
879デフォルトの名無しさん (ワッチョイ 7923-KOzE)
2018/03/29(木) 11:32:58.49ID:Hc4kPWXM0 UI とのバインディングを失笑されたら
シンタックスシュガーでこんなに楽にかける!と主張し始めたよw
そりゃ楽にかけて便利だよな。
そのためのものだもの。そこは同意する
シンタックスシュガーでこんなに楽にかける!と主張し始めたよw
そりゃ楽にかけて便利だよな。
そのためのものだもの。そこは同意する
880デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 11:35:30.24ID:+tUOh99Na GUIだけじゃなくて他にも使えるというか
他がメイン
他がメイン
881デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/29(木) 12:12:32.14ID:xx4XvERn0 >>878
そういう風にお手軽にメンバを書き換えるのは事故のもとなのでやめましょうってことでめんどくさくしたのに
戦争を知らない世代みたいな
現状でもa.value()++とかif(a.Width()==100)でできるしな
これまでのコードとの一貫性を破壊してなおかつ年代物のコンパイラに更に複雑なパースをさせて得られるものがちょっと括弧を省略するだけとは
そういう風にお手軽にメンバを書き換えるのは事故のもとなのでやめましょうってことでめんどくさくしたのに
戦争を知らない世代みたいな
現状でもa.value()++とかif(a.Width()==100)でできるしな
これまでのコードとの一貫性を破壊してなおかつ年代物のコンパイラに更に複雑なパースをさせて得られるものがちょっと括弧を省略するだけとは
882デフォルトの名無しさん (スッップ Sdb3-VlFK)
2018/03/29(木) 12:14:06.74ID:mREgEFijd プロパティのメリットは最初publicで適当に実装しといても後からgetter/setter付きのprivateに変えれる所じゃない?
883デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/29(木) 12:18:25.09ID:xx4XvERn0 変数がない状態でもテストに通るように作るべきだからpublicで変数を持たせる機会が一瞬もない
884デフォルトの名無しさん (ワッチョイ d180-3UCh)
2018/03/29(木) 12:18:48.50ID:+dX3Weor0 C++builderってプロパティなかったっけ。
たいそう便利だったような気がするのだが、思い違いだろか。
たいそう便利だったような気がするのだが、思い違いだろか。
885デフォルトの名無しさん (ワッチョイ d180-3UCh)
2018/03/29(木) 12:19:57.65ID:+dX3Weor0 そもそも最近のGUIビルダってC++ビルダーの影響受けまくってるような感じがする。
886デフォルトの名無しさん (ワッチョイ 9312-3n/u)
2018/03/29(木) 12:20:28.54ID:ONnwnPbh0 トップダウンで理想から考えるのが早い
どういう風に書ければ満足するんだ
どういう風に書ければ満足するんだ
887デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 12:26:29.79ID:f5JOZCzba888デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 12:28:52.39ID:f5JOZCzba c++0x()以降の理念で仕様策定だけしたらいいじゃん
基本機能を妨げないように仕様追加
使うかどうかは本人次第
誰も強制しない
基本機能を妨げないように仕様追加
使うかどうかは本人次第
誰も強制しない
889デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 12:30:14.95ID:f5JOZCzba 拡張forもautoも馬鹿みたいに文句言ってたけど今でも使うなって言う人はいるのかな
890デフォルトの名無しさん (ワッチョイ d180-3UCh)
2018/03/29(木) 12:31:30.92ID:+dX3Weor0 使うな!
891デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 12:31:44.70ID:f5JOZCzba わかりました使いません…
892デフォルトの名無しさん (スッップ Sdb3-VlFK)
2018/03/29(木) 12:59:19.47ID:mREgEFijd 頭かったwwww
893デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/29(木) 13:03:56.15ID:xx4XvERn0 >>887
これらを採択する人の中にGCCやMSVCの人がいないわけないじゃん
関数として扱うのか、変数として扱うのか決めなきゃいけない
そしてどうやってポインタをとるのかなど色々な問題がある
そしてさっきも言ったけど括弧を少し減らせるだけでできることが増えるわけじゃないというのが最大の問題
これらを採択する人の中にGCCやMSVCの人がいないわけないじゃん
関数として扱うのか、変数として扱うのか決めなきゃいけない
そしてどうやってポインタをとるのかなど色々な問題がある
そしてさっきも言ったけど括弧を少し減らせるだけでできることが増えるわけじゃないというのが最大の問題
894デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 13:16:13.95ID:f5JOZCzba 得意げにご高説を垂れ流してる最中に申し訳ありませんが
a.value++;
と
a.value()++;
は別物
あえてみんなスルーしてくれてるのに
a.value++;
と
a.value()++;
は別物
あえてみんなスルーしてくれてるのに
895デフォルトの名無しさん (ワッチョイ 1323-RCub)
2018/03/29(木) 13:20:41.15ID:ng76gyv10 >>894
参照返しなら同じでは?
参照返しなら同じでは?
896デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 13:33:25.09ID:f5JOZCzba ん?
参照した値を変えるとGUIの表示とか更新してくれんの?
getterとsetterあったとして実行してくれんの?
a.width()とa.widthが同じgetter的な動作してくれるのはわかるけど
参照した値を変えるとGUIの表示とか更新してくれんの?
getterとsetterあったとして実行してくれんの?
a.width()とa.widthが同じgetter的な動作してくれるのはわかるけど
897デフォルトの名無しさん (スッップ Sdb3-VlFK)
2018/03/29(木) 13:38:37.15ID:mREgEFijd アンチプロパティの人なんでそんなに必死なん?
898デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/29(木) 13:47:08.78ID:xx4XvERn0 >>896
プロキシクラス
プロキシクラス
899デフォルトの名無しさん (スップ Sdb3-W7mk)
2018/03/29(木) 14:39:11.63ID:BTFPAIj5d GUIの表示を更新するように作れば更新される
900デフォルトの名無しさん (ワッチョイ 1908-kUw7)
2018/03/29(木) 14:39:13.31ID:DoW8QBEn0 a.value()++; が参照返しとかどんだけヘボいんだよw
リファレンサのprvalueだろjk
リファレンサのprvalueだろjk
901デフォルトの名無しさん (アウアウウー Sa45-kUw7)
2018/03/29(木) 15:02:55.47ID:f5JOZCzba プロパティ不要とは言うけどそもそものプロパティの仕組みと効果はわかってないんだね
こんな人ばかり
こんな人ばかり
902デフォルトの名無しさん (ワッチョイ c1b3-tte4)
2018/03/29(木) 15:57:57.60ID:or4Xspy50 何スレか前にもプロパティの議論あったんだけどね・・
少なくともgetter/setterを自動生成する、みたいなクソな機能ではないぞ
少なくともgetter/setterを自動生成する、みたいなクソな機能ではないぞ
903はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5b6f-kUw7)
2018/03/29(木) 16:02:08.91ID:frx7qa9h0904デフォルトの名無しさん (ワッチョイ 9334-3URi)
2018/03/29(木) 17:26:54.17ID:T1PPEJjr0 >>884
Builderだけtry-finallyセクション使えたり次元が違う希ガス
Builderだけtry-finallyセクション使えたり次元が違う希ガス
905デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
2018/03/29(木) 20:10:56.09ID:LRHKAKcy0906デフォルトの名無しさん (ドコグロ MMa3-PArs)
2018/03/29(木) 21:38:46.24ID:1OB4BLGUM907デフォルトの名無しさん (ブーイモ MMb3-vInS)
2018/03/29(木) 21:46:54.75ID:6IJhuxisM カーンを首にしてアプリ側に振ったのが敗因だったな
膨大なdbaseの資産も全く使えなかったのはNetaWareと
同じだった
膨大なdbaseの資産も全く使えなかったのはNetaWareと
同じだった
908デフォルトの名無しさん (ワッチョイ d3cb-436e)
2018/03/30(金) 01:25:11.99ID:6elBmHqP0 >>902
え、違うの?
え、違うの?
909はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5b6f-kUw7)
2018/03/30(金) 04:42:18.00ID:AQ2aJRgB0910デフォルトの名無しさん (ドコグロ MMa3-PArs)
2018/03/30(金) 06:43:57.86ID:MnRWcQoLM そもそも変数に見せかけると言うプロパティ自体の話とgetter/setterの自動生成の話は全く別物で>>902で比較してる意味がわからん
たぶん本人もちゃんと理解できてないんだろうな...
たぶん本人もちゃんと理解できてないんだろうな...
911デフォルトの名無しさん (オイコラミネオ MM6b-ePcA)
2018/03/30(金) 07:46:44.11ID:QwXbOxz8M >>905
例えば座標なら+=使えた方が楽じゃね
例えば座標なら+=使えた方が楽じゃね
912デフォルトの名無しさん (ブーイモ MMab-q1Nq)
2018/03/30(金) 08:33:24.78ID:x9Ml4xAFM >>909
なんだそういうことか。それも含めて単なる自動生成だと認識してたよ。
なんだそういうことか。それも含めて単なる自動生成だと認識してたよ。
913デフォルトの名無しさん (ワッチョイ 4150-W7mk)
2018/03/30(金) 08:34:01.73ID:trt/A0j+0 そうやってソフトが重くなって行くわけだな
数値の += なんて軽いと思って何度も呼んだら
実は描画や保存も何度も呼ばれてしまうとか
数値の += なんて軽いと思って何度も呼んだら
実は描画や保存も何度も呼ばれてしまうとか
914デフォルトの名無しさん (ワッチョイ 417f-kUw7)
2018/03/30(金) 08:42:16.05ID:u8hlmR9G0 それはプロパティに限った問題ではないな
915デフォルトの名無しさん (スップ Sdf3-qGf7)
2018/03/30(金) 08:45:16.06ID:+sennHugd プロパティってそれ単体で取り出せるの?
それなら使えるな
それなら使えるな
916デフォルトの名無しさん (スップ Sdb3-W7mk)
2018/03/30(金) 08:52:02.87ID:HVaF4kSpd 呼ばれる側 : そんな何度も呼ばれるとは思わなかった
呼ぶ側 : 重いとは思わなかった
呼ぶ側 : 重いとは思わなかった
917デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/30(金) 09:52:35.47ID:mPLnga/50 少なくともAdd()なら何かしらの関数を呼んでいることはわかる
918デフォルトの名無しさん (ワッチョイ 5be9-VlFK)
2018/03/30(金) 11:31:23.82ID:3ziE5qsO0 プロパティでもなんらかの関数が含んでいることはわかるが
919デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/30(金) 11:45:01.30ID:mPLnga/50 それがただの変数なのかプロパティなのかは調べるまでわからない
920デフォルトの名無しさん (スッップ Sdb3-VlFK)
2018/03/30(金) 11:57:28.30ID:27QTfa4qd 調べろよ
921デフォルトの名無しさん (ワッチョイ 417f-kUw7)
2018/03/30(金) 11:58:36.02ID:u8hlmR9G0 変数でも演算子がオーバーロードされてる場合もあるからな
結局調べないとダメ
結局調べないとダメ
922デフォルトの名無しさん (スッップ Sdb3-VlFK)
2018/03/30(金) 12:01:32.59ID:27QTfa4qd っていうか>>883いわく、publicな変数は有り得ないらしいし、そういう運用してるなら考えるまでもなくプロパティじゃん
923デフォルトの名無しさん (ワッチョイ c1b3-kUw7)
2018/03/30(金) 15:53:31.37ID:l98ixrSj0924デフォルトの名無しさん (ワッチョイ 1908-kUw7)
2018/03/30(金) 17:21:54.28ID:6y8tfNRe0 C++erが通常prvalueで返しているリファレンサを、データメンバにするってことなら
テンポラリを作らなくなる分、速度的なメリットはありそうだな
# でも、俺はイヤだな
# データメンバがドカドカ増えるのがなんか気持ち悪い
# 慣れの問題っちゃそうかも知れんが
テンポラリを作らなくなる分、速度的なメリットはありそうだな
# でも、俺はイヤだな
# データメンバがドカドカ増えるのがなんか気持ち悪い
# 慣れの問題っちゃそうかも知れんが
925デフォルトの名無しさん (スップ Sdf3-qGf7)
2018/03/30(金) 17:39:33.77ID:+sennHugd >>898
言いたいことがわかった気がする
言いたいことがわかった気がする
926デフォルトの名無しさん (スップ Sdb3-W7mk)
2018/03/30(金) 17:42:52.50ID:HVaF4kSpd やっとかよ
927デフォルトの名無しさん (ドコグロ MMa3-PArs)
2018/03/30(金) 20:19:26.33ID:MnRWcQoLM928デフォルトの名無しさん (ワッチョイ 5be9-VlFK)
2018/03/30(金) 20:30:23.19ID:3ziE5qsO0 自分から絡んで行ってバカ呼ばわりとはこれいかに
929デフォルトの名無しさん (ドコグロ MMa3-PArs)
2018/03/30(金) 20:51:58.09ID:MnRWcQoLM またバカが絡んできたよ w
930デフォルトの名無しさん (ワッチョイ c1b3-kUw7)
2018/03/30(金) 20:59:28.09ID:l98ixrSj0 >>927
いや、なんか根本的に誤解されてる気がするが
C#とかだと、多分プロパティ作ると自動である程度書いてくれるんだろうけど
その話じゃなくて「C++におけるpublicなGetXX(), SetXX()が暗黙的に作られる(だけ)」、みたいな誤解
(C#やBuilder知らずに議論をぱっと見するとそういう誤解しがち、俺も以前はしてたが)
があるんだよな
説明不足だったかもしれんけどIDEの支援機能の話ではない
というか前スレのリンクにあったブログの
http://ufcpp.net/study/csharp/oo_property.html?key=property#property
これが個人的にはわかりやすかった
いや、なんか根本的に誤解されてる気がするが
C#とかだと、多分プロパティ作ると自動である程度書いてくれるんだろうけど
その話じゃなくて「C++におけるpublicなGetXX(), SetXX()が暗黙的に作られる(だけ)」、みたいな誤解
(C#やBuilder知らずに議論をぱっと見するとそういう誤解しがち、俺も以前はしてたが)
があるんだよな
説明不足だったかもしれんけどIDEの支援機能の話ではない
というか前スレのリンクにあったブログの
http://ufcpp.net/study/csharp/oo_property.html?key=property#property
これが個人的にはわかりやすかった
931デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
2018/03/30(金) 21:21:54.96ID:FlBD8vqz0 Javaのイメージなのかな?
あれはJavaBeansとかいうゴミ規約のせいで本当にGetXX()とSetXX()を作るだけのゴミ機能がIDEに標準装備だったりする
あれはJavaBeansとかいうゴミ規約のせいで本当にGetXX()とSetXX()を作るだけのゴミ機能がIDEに標準装備だったりする
932デフォルトの名無しさん (ワッチョイ 5be9-VlFK)
2018/03/30(金) 21:27:33.97ID:3ziE5qsO0 まあプロパティある言語触ったことないやつは勉強不足だから無視していいって言うのは一理ある
933デフォルトの名無しさん (ワッチョイ 4150-W7mk)
2018/03/30(金) 21:59:35.93ID:trt/A0j+0934デフォルトの名無しさん (ブーイモ MMab-q1Nq)
2018/03/30(金) 22:16:15.58ID:8D6duvwPM お前らの書き込み見ると、プロパティがものすごい大発明なんじゃないかと錯覚するけど
変数のようにかける件を含めても糖衣構文以上のものじゃないだろ。
+=したけりゃそういうプロキシ書けばいい。
変数のようにかける件を含めても糖衣構文以上のものじゃないだろ。
+=したけりゃそういうプロキシ書けばいい。
935デフォルトの名無しさん (ワッチョイ 4150-W7mk)
2018/03/30(金) 22:21:10.98ID:trt/A0j+0 お前らってだれだよ
一人だけだろプロパティ信者
一人だけだろプロパティ信者
936デフォルトの名無しさん (ワッチョイ 4150-W7mk)
2018/03/30(金) 22:25:41.11ID:trt/A0j+0 これ以上言語機能を増やさなくて良い
コンパイラが規格に追い付いてなくて互換性が崩れる
コンパイラが規格に追い付いてなくて互換性が崩れる
937デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
2018/03/30(金) 22:28:08.90ID:FlBD8vqz0 クソ機能というわけではないが、ものすごく便利というわけでもない
あればあったで使うけど、ないならないで困らないし、言語設計として採用するしないの判断はどっちもあり
C++は採用しない判断をした
その程度の話
あればあったで使うけど、ないならないで困らないし、言語設計として採用するしないの判断はどっちもあり
C++は採用しない判断をした
その程度の話
938デフォルトの名無しさん
2018/03/30(金) 23:12:27.73 実体が関数なら漢らしく見た目も関数にしろよwww
見た目が変数なのに処理が走るとか、見た目が割り算なのに文字列連結するとか変態野郎は死にくされやwwwww
見た目が変数なのに処理が走るとか、見た目が割り算なのに文字列連結するとか変態野郎は死にくされやwwwww
939デフォルトの名無しさん (ワッチョイ c1b3-kUw7)
2018/03/30(金) 23:32:31.76ID:l98ixrSj0 その辺はC++のコンストラクタ・デストラクタに嫌悪感を示すCユーザーが昔よく言ってた台詞と似てるw
「裏で何が起きてるかわかりづらいから嫌だ」、とかね
別に本気でプロパティ推してるわけじゃないが、いざプロキシクラスで代用しようとするとめんどい
ETなんかを仲介するとテンプレートの実体化の数でコンパイラへの負担がデカいし、
メンバ関数の呼び出しをサポートしようとすると継承が必要になるし・・・それなりに問題点はある
「裏で何が起きてるかわかりづらいから嫌だ」、とかね
別に本気でプロパティ推してるわけじゃないが、いざプロキシクラスで代用しようとするとめんどい
ETなんかを仲介するとテンプレートの実体化の数でコンパイラへの負担がデカいし、
メンバ関数の呼び出しをサポートしようとすると継承が必要になるし・・・それなりに問題点はある
940デフォルトの名無しさん (スフッ Sdb3-VlFK)
2018/03/30(金) 23:40:02.53ID:vpP76l93d941デフォルトの名無しさん (スフッ Sdb3-VlFK)
2018/03/30(金) 23:41:38.85ID:vpP76l93d >>938
それiostremディスってんの?
それiostremディスってんの?
942デフォルトの名無しさん (ワッチョイ d3cb-q1Nq)
2018/03/31(土) 00:11:17.76ID:o3PNwIlC0 >>940
お前が驚くと凄いことなん?
お前が驚くと凄いことなん?
943デフォルトの名無しさん (ワッチョイ d3bd-qsUw)
2018/03/31(土) 00:12:18.16ID:aFk+9CH40944デフォルトの名無しさん (ワッチョイ 2b9a-ePcA)
2018/03/31(土) 00:19:06.77ID:iyPH7JTK0 ダイヤモンド継承使われてるんだっけ
あれ使ったことないな
いらない機能だと思うなら使わないってだけだしプロパティはあった方がらくだと思うけどね
独自拡張でつけてるのもあるし
あれ使ったことないな
いらない機能だと思うなら使わないってだけだしプロパティはあった方がらくだと思うけどね
独自拡張でつけてるのもあるし
945デフォルトの名無しさん (スフッ Sdb3-VlFK)
2018/03/31(土) 00:25:31.98ID:NJ7AGlMvd946デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
2018/03/31(土) 00:47:52.27ID:C63IJ9vb0 iostreamの<<チェーンが実は最近まで規格上未定義動作だった話は正直呆れた
947デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/31(土) 01:02:47.99ID:19OTzhSN0 採択されてもプロパティのアドレスをどうやって取るのかっていうことで標準化委員会で揉めて10年は停滞する
948はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5b6f-kUw7)
2018/03/31(土) 01:48:24.57ID:nFIfPX7B0 >>947
サブオブジェクトがユニークアドレスを取れなくてもいいことを示す [[no_unique_address]] 属性が C++20 のドラフトに入った。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0840r1.html
オブジェクトがユニークなアドレスを持つ原則を捨てたわけ。
これを踏襲するなら、プロパティのアドレスは取れないってことにして解決するのが自然で、揉める余地はそんなにないと思う。
実際にアドレスは存在しないわけだし、存在しないものを返しようがないじゃん。
サブオブジェクトがユニークアドレスを取れなくてもいいことを示す [[no_unique_address]] 属性が C++20 のドラフトに入った。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0840r1.html
オブジェクトがユニークなアドレスを持つ原則を捨てたわけ。
これを踏襲するなら、プロパティのアドレスは取れないってことにして解決するのが自然で、揉める余地はそんなにないと思う。
実際にアドレスは存在しないわけだし、存在しないものを返しようがないじゃん。
949デフォルトの名無しさん (ワッチョイ b37e-YG9/)
2018/03/31(土) 02:09:16.31ID:19OTzhSN0950デフォルトの名無しさん (ワッチョイ 9368-uaFS)
2018/03/31(土) 04:29:43.55ID:O6Ruc86y0 抽象クラス"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で作成し、そのメソッドを実行して
帰ってきた文字列からそれがどのクラスのインスタンスか判別が付くのではないかなと思いました。
決してスマートな方法とは言えませんが・・・
もっとスマートな方法はありますか?
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で作成し、そのメソッドを実行して
帰ってきた文字列からそれがどのクラスのインスタンスか判別が付くのではないかなと思いました。
決してスマートな方法とは言えませんが・・・
もっとスマートな方法はありますか?
951デフォルトの名無しさん (ワッチョイ db0e-uaFS)
2018/03/31(土) 04:37:13.22ID:350O8bDz0 ・・・?
typeidじゃアカンの?
typeidじゃアカンの?
952デフォルトの名無しさん (ワッチョイ 1908-kUw7)
2018/03/31(土) 05:55:27.21ID:15qJIIAA0 class B : public Super
{
public:
Super* re_new() override
{
delete this;
return new B{};
}
};
{
public:
Super* re_new() override
{
delete this;
return new B{};
}
};
953デフォルトの名無しさん (ワッチョイ 5be7-Cooj)
2018/03/31(土) 06:37:47.25ID:C63IJ9vb0 >>948
単純に &obj.int_prop と書いた時に、この式の型と値をどうするかは難しい問題じゃない?
intの一時オブジェクトへのポインタ、intのぬるぽ、int_propのgetterへの関数メンバポインタ、ill-formed
どれも問題あると思う
単純に &obj.int_prop と書いた時に、この式の型と値をどうするかは難しい問題じゃない?
intの一時オブジェクトへのポインタ、intのぬるぽ、int_propのgetterへの関数メンバポインタ、ill-formed
どれも問題あると思う
954デフォルトの名無しさん (ワッチョイ 4104-2GNe)
2018/03/31(土) 06:47:39.87ID:8va89mAu0 プロパティを関数として実装したら関数のアドレスは取れるんじゃないかなぁ。はぁ、実装依存ですか。
955デフォルトの名無しさん (アウアウカー Sadd-LLtt)
2018/03/31(土) 08:02:21.38ID:5h07DQhTa >>950
全然スマートじゃないがvisitorパターン使えば?
全然スマートじゃないがvisitorパターン使えば?
956デフォルトの名無しさん (ワッチョイ 93b3-PArs)
2018/03/31(土) 09:03:59.00ID:OaeapR1O0957デフォルトの名無しさん (ワッチョイ 4150-W7mk)
2018/03/31(土) 09:14:46.66ID:HGehdmya0 つまり意識しなきゃならんてことか
じゃあ素直に関数にしろよ
じゃあ素直に関数にしろよ
958はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5b6f-kUw7)
2018/03/31(土) 09:16:04.32ID:nFIfPX7B0 >>953
一時オブジェクトへのポインタってことにする一択だと思うけどなぁ。
あくまでも「変数に見せかける」、
つまりは、ゲッタの呼出しに構文糖を付けて見かけ上だけ変数 (データメンバ) っぽいって立場を貫かないと、
余計な気を回してもわかり難さが増すだけだよ。
rvalue なのは仕方がない。
一時オブジェクトへのポインタってことにする一択だと思うけどなぁ。
あくまでも「変数に見せかける」、
つまりは、ゲッタの呼出しに構文糖を付けて見かけ上だけ変数 (データメンバ) っぽいって立場を貫かないと、
余計な気を回してもわかり難さが増すだけだよ。
rvalue なのは仕方がない。
959デフォルトの名無しさん (ワッチョイ 9334-3URi)
2018/03/31(土) 09:16:21.25ID:Nj0xu+770 どうしてアドレスを取りたがるのかよくわからない
クラスのメンバ関数だってアドレス取れないだろ
クラスのメンバ関数だってアドレス取れないだろ
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
