次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part131
http://mevius.2ch.net/test/read.cgi/tech/1501295308/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.101【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1500329247/
■長いソースを貼るときはここへ。■
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++相談室 part132
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ (ワッチョイ faeb-wbjw)
2017/10/10(火) 00:11:34.01ID:nc/5PI4P0184デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
2017/10/24(火) 03:02:15.07ID:Od9TZRLJ0 ポインタは型なのだろうか。
185デフォルトの名無しさん (ワッチョイ c183-bcII)
2017/10/24(火) 03:19:16.91ID:F7KgZr1H0 コードの書かない奴ほどC++をやっつけスクリプト言語化しようとする。
auto馬鹿どもを駆逐せよ。
auto馬鹿どもを駆逐せよ。
186デフォルトの名無しさん (ドコグロ MM99-RYXs)
2017/10/24(火) 07:17:33.32ID:4VNEc1KXM187デフォルトの名無しさん (ワッチョイ d68a-AUSJ)
2017/10/24(火) 08:02:35.16ID:/FFLOfov0 ヴァカが精一杯頑張って吐き出したクッサイ唾がこれ↑
188デフォルトの名無しさん (ドコグロ MM99-RYXs)
2017/10/24(火) 08:42:18.81ID:4VNEc1KXM > 動的型付けと型推論の違いも理解できない老害
は否定できないんだ w
は否定できないんだ w
189デフォルトの名無しさん (スプッッ Sd7a-6gne)
2017/10/24(火) 10:20:18.72ID:kyzMRAwBd >>186
autoのことをanyやvariantと勘違いしてるとか?
autoのことをanyやvariantと勘違いしてるとか?
190デフォルトの名無しさん (ワッチョイ d68a-AUSJ)
2017/10/24(火) 12:37:21.38ID:/FFLOfov0 そんな勘違いしてるとなんで思い込むか全く分からんわ
まあヴァカの考えることなんて分かったら大変だけど
まあヴァカの考えることなんて分かったら大変だけど
191デフォルトの名無しさん (ワッチョイ d68a-AUSJ)
2017/10/24(火) 12:42:47.65ID:/FFLOfov0 こいつの脳内には「動的型付けと型推論の違いも理解できない老害 」
とやらが住んでいてるんだろうな。
それ少し前のお前自身の姿だからゲラゲラ
とやらが住んでいてるんだろうな。
それ少し前のお前自身の姿だからゲラゲラ
192デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
2017/10/24(火) 12:43:32.89ID:Od9TZRLJ0 世の中バカばかり、自分だけがよくわかっている。
ってことでしょうか。
ってことでしょうか。
193デフォルトの名無しさん (ワッチョイ 0aeb-Q7KS)
2017/10/24(火) 16:53:21.77ID:RCW9qhL70 こいつプログラミング板荒らしまわってる某コテハンと同じ臭いがする
194デフォルトの名無しさん (ドコグロ MMe2-hejz)
2017/10/24(火) 17:21:11.13ID:xOeS6ucYM まぁ、もうそろそろNG設定かね。俺は設定した。
大した技術持って無さそうだし。
大した技術持って無さそうだし。
195片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd9a-f2Bm)
2017/10/24(火) 17:41:23.62ID:+CxSIN/Vd 2ちゃんねるのコテハンにはろくなヤツがいないって、戦後生まれのじっちゃんが言っていた。
196片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd9a-f2Bm)
2017/10/24(火) 18:40:29.57ID:+CxSIN/Vd そろそろ仕事やめて、めしにしようぜ
カレーライスとお子様ランチのどっちがいい?
カレーライスとお子様ランチのどっちがいい?
197片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd9a-f2Bm)
2017/10/24(火) 18:53:07.38ID:+CxSIN/Vd ギロッポンでめしにすっべ
今日は俺のおごりだ
今日は俺のおごりだ
198デフォルトの名無しさん (ドコグロ MM99-RYXs)
2017/10/24(火) 20:33:42.55ID:4VNEc1KXM199デフォルトの名無しさん (ワッチョイ 7abd-GnHq)
2017/10/24(火) 20:44:02.68ID:yRLde5ii0200デフォルトの名無しさん (オッペケ Sr85-+cZg)
2017/10/24(火) 20:53:50.44ID:YuTKkjXTr auto jug_array = std::vector<std::vector<int>>(5000);
という書き方は2012年ごろにさっちんとメイヤーが広めようとしていた
C++17でこの書き方が広まったら>>185はもう出家するしかない
という書き方は2012年ごろにさっちんとメイヤーが広めようとしていた
C++17でこの書き方が広まったら>>185はもう出家するしかない
201デフォルトの名無しさん (ワッチョイ 0aeb-bcII)
2017/10/24(火) 20:55:00.66ID:FyKtaGrZ0 autoに関して応答なさそうですね
202デフォルトの名無しさん (オッペケ Sr85-+cZg)
2017/10/24(火) 20:56:05.26ID:YuTKkjXTr 昭和のアロマが強烈
203デフォルトの名無しさん (ワッチョイ 7abd-GnHq)
2017/10/24(火) 21:14:49.95ID:yRLde5ii0 良く考えずに書いたが良く考えたら普通は
std::vector<std::vector<int>> jug_array(5000);
と書くところだったなあ…
std::vector<std::vector<int>> jug_array(5000);
と書くところだったなあ…
204デフォルトの名無しさん (ワッチョイ bab3-QZhF)
2017/10/24(火) 21:50:21.25ID:018tmIsf0 UWPスレとか毛色が違うみたいだし、C++/CLIスレとか落ちてるんでここで教えて下さい
VS2017のC++/WinRTで新しいプロジェクトを作成
(Visual C++ → Windowsユニバーサル → 単体テストアプリ)
実行すると TEST APP 、Unit Test 、Tests Running の3つの文字が出てくるウィンドウが出てきます
しかし、UnitTestApp.xaml の Application要素の中身は、空っぽです
新しくブランクページを作ると、Page要素になって、デザインできる上にボタン等を貼り付けると
Page要素の中に要素が作られます
Application要素の中身は一体どこにあるのでしょう?
VS2017のC++/WinRTで新しいプロジェクトを作成
(Visual C++ → Windowsユニバーサル → 単体テストアプリ)
実行すると TEST APP 、Unit Test 、Tests Running の3つの文字が出てくるウィンドウが出てきます
しかし、UnitTestApp.xaml の Application要素の中身は、空っぽです
新しくブランクページを作ると、Page要素になって、デザインできる上にボタン等を貼り付けると
Page要素の中に要素が作られます
Application要素の中身は一体どこにあるのでしょう?
205デフォルトの名無しさん (ワッチョイ d681-wEwp)
2017/10/24(火) 22:02:36.84ID:hjkLVxi70206デフォルトの名無しさん (ワッチョイ bab3-QZhF)
2017/10/24(火) 22:15:38.33ID:018tmIsf0207デフォルトの名無しさん (ワッチョイ e5b3-2TAP)
2017/10/25(水) 18:49:27.48ID:qOXOqU1a0 c++でダックタイピングのようなものをやりたいです。
void型で受け取ったクラスを自前で用意したインターフェースクラスにキャストして関数を呼び出すって可能ですか?
やり方や参考になるサイトなどあれば教えて欲しいです。
templateでの型消去はコンパイル段階でクラスを知らないせいで弾かれてしまっているようです……
void型で受け取ったクラスを自前で用意したインターフェースクラスにキャストして関数を呼び出すって可能ですか?
やり方や参考になるサイトなどあれば教えて欲しいです。
templateでの型消去はコンパイル段階でクラスを知らないせいで弾かれてしまっているようです……
208デフォルトの名無しさん (ワッチョイ 7a8a-WXi2)
2017/10/25(水) 19:02:03.57ID:16XMr+7o0 vfptrの実装状況によるから、未知の抽象クラスのメソッドって
呼べないと思うんだが
呼べないと思うんだが
209デフォルトの名無しさん (ワッチョイ e5b3-2TAP)
2017/10/25(水) 19:20:07.39ID:qOXOqU1a0210デフォルトの名無しさん (ワッチョイ a504-7unl)
2017/10/25(水) 19:21:19.49ID:Srjg9fpL0211デフォルトの名無しさん (ワッチョイ a504-7unl)
2017/10/25(水) 19:28:12.28ID:Srjg9fpL0212デフォルトの名無しさん (ワッチョイ e5b3-2TAP)
2017/10/25(水) 19:38:49.97ID:qOXOqU1a0213デフォルトの名無しさん (ブーイモ MM71-v1IO)
2017/10/25(水) 20:09:22.57ID:r5sy60NsM おおっと、auto の話題には注意しないとな。
214デフォルトの名無しさん (オッペケ Sr85-+cZg)
2017/10/25(水) 20:51:07.58ID:t7oUy/d3r 昭和生まれの老害はそろそろ引退すべき
215デフォルトの名無しさん (ブーイモ MM71-VTYL)
2017/10/25(水) 20:55:21.88ID:SS3Ej639M 64年生まれの妹が不憫でならない
216デフォルトの名無しさん (スプッッ Sd7a-7kQB)
2017/10/25(水) 22:31:10.63ID:Nep/tIRvd .outからsoファイル呼び出す形を作ってるのだけど
変数の共有するのってグローバル変数にするのとシングルとんみたいなの作る以外にある?
関数の引数にはできない状態だと
変数の共有するのってグローバル変数にするのとシングルとんみたいなの作る以外にある?
関数の引数にはできない状態だと
217デフォルトの名無しさん (ワッチョイ 6b3e-gj0X)
2017/10/26(木) 01:08:27.67ID:KrANDw+50218デフォルトの名無しさん (ワッチョイ e983-nu9H)
2017/10/26(木) 01:17:12.83ID:SQPezUK20219デフォルトの名無しさん (ワッチョイ d178-4HSd)
2017/10/26(木) 02:08:33.19ID:s0ODk43E0 イッツautoマーチック
220デフォルトの名無しさん (ワッチョイ 1323-Lz9C)
2017/10/26(木) 03:38:24.52ID:H69oM85Y0221デフォルトの名無しさん (ワッチョイ 6b3e-gj0X)
2017/10/26(木) 08:42:36.44ID:KrANDw+50 >>219
まんまやん
まんまやん
222デフォルトの名無しさん (ワッチョイ 6b3e-gj0X)
2017/10/26(木) 08:43:28.94ID:KrANDw+50 >>220
ああ、確かに環境変数も使うね。
ああ、確かに環境変数も使うね。
223デフォルトの名無しさん (ササクッテロロ Sp9d-Ol9m)
2017/10/26(木) 14:14:49.39ID:yHns7wn+p >>218
パッケージソフトやゲームはガン無視か
パッケージソフトやゲームはガン無視か
224デフォルトの名無しさん (スプッッ Sd73-Gmo/)
2017/10/26(木) 14:32:13.77ID:3HeaIUwTd OSと組み込みとドライバって特権階級かなんかなの?
225デフォルトの名無しさん (アウアウカー Saed-UWC9)
2017/10/26(木) 14:59:42.90ID:97gM9QaUa >>218がその世界しか知らない(それ以外は俺にはかんけーない)ということにじゃないかな
226デフォルトの名無しさん (ワッチョイ 93b3-FaL7)
2017/10/26(木) 16:12:23.15ID:fpqT055X0 OS内部とかドライバとか、位置によってはメモリ確保の方法変わってくるし
組み込みで動的にメモリ確保とか怖くってやってらんねーとかじゃい?
静的か自動変数にインスタンスの実体置くなら一応なんとかなるんだろうけど・・・
いや、静的だとコンストラクタがくっそ面倒か? auto とか生きてくるのって、
大抵ばかすかコンテナに要素しこたま抱える様な用途だしな
組み込みで動的にメモリ確保とか怖くってやってらんねーとかじゃい?
静的か自動変数にインスタンスの実体置くなら一応なんとかなるんだろうけど・・・
いや、静的だとコンストラクタがくっそ面倒か? auto とか生きてくるのって、
大抵ばかすかコンテナに要素しこたま抱える様な用途だしな
227223 (ワッチョイ 11b3-20SA)
2017/10/26(木) 16:48:19.15ID:sfpBhfHr0 いやautoの議論にケチつけたつもりは無いよ(俺も滅多にauto使わんし
C++の実用される現場といえばOS、組み込み、ドライバくらいしか挙げない人が多いから釘刺したかっただけ
C++の実用される現場といえばOS、組み込み、ドライバくらいしか挙げない人が多いから釘刺したかっただけ
228デフォルトの名無しさん (ワッチョイ 917f-20SA)
2017/10/26(木) 17:11:31.86ID:kUEk6KjE0 auto使わないとか頭固すぎ
使えるところは全てautoだわ
使えるところは全てautoだわ
229デフォルトの名無しさん (ワッチョイ 1323-Lz9C)
2017/10/26(木) 17:59:27.25ID:obzhKUOY0 単なるシンタックスシュガーでなんのオーバーヘッドや副作用があるわけじゃ無いしな
230デフォルトの名無しさん (ワッチョイ 69b3-20SA)
2017/10/26(木) 18:40:54.94ID:se7vIA1E0 auto下痢症
231デフォルトの名無しさん (ワッチョイ eb8a-1LOm)
2017/10/26(木) 18:55:08.38ID:EF3aiwNW0 autoネタ大人気だな
俺もiteratorなんかじゃ迷わずauto使うけど
ポインタすらちゃんと理解してないような奴が無闇にauto使ってるのを見るとね
俺もiteratorなんかじゃ迷わずauto使うけど
ポインタすらちゃんと理解してないような奴が無闇にauto使ってるのを見るとね
232デフォルトの名無しさん (ワッチョイ 0beb-nu9H)
2017/10/26(木) 18:57:53.27ID:KmwbyHDC0 それ以上autoの話をするのはアウトだぞ
233デフォルトの名無しさん (ワッチョイ 69b3-20SA)
2017/10/26(木) 19:55:30.03ID:se7vIA1E0 おぉっと
234デフォルトの名無しさん (ワッチョイ 9193-cGPg)
2017/10/26(木) 20:20:21.90ID:8UQnYlEC0 同じ話題ばかりで食傷気味、もう吐きそう。
…というこの書き込みも同系ネタで済まぬ。
…というこの書き込みも同系ネタで済まぬ。
235デフォルトの名無しさん (ドコグロ MM3d-DDuF)
2017/10/26(木) 22:27:19.25ID:oyaJ8gC3M236片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-+nyC)
2017/10/26(木) 22:29:12.27ID:LcK6lNJBd237デフォルトの名無しさん (ワッチョイ ebe8-nu9H)
2017/10/26(木) 22:31:49.27ID:6866r+hk0 嘔吐嘔吐、うるせーなぁ(´・ω・`)
238デフォルトの名無しさん (ワッチョイ 6b5b-OCcV)
2017/10/27(金) 04:04:41.73ID:lyx9X4ms0 >>228
同感
同感
240デフォルトの名無しさん (スップ Sd73-Gmo/)
2017/10/27(金) 08:33:50.52ID:beF6mKBOd C++使わないとか頭固すぎ
使えるところは全部C++だわ
使えるところは全部C++だわ
241デフォルトの名無しさん (ワッチョイ 1323-Lz9C)
2017/10/27(金) 08:39:18.11ID:2A0a9mBA0 単なるシンタックスシュガーでオーバーヘッドとか副作用無いしねw
242デフォルトの名無しさん (ワッチョイ 1323-Lz9C)
2017/10/27(金) 08:39:47.11ID:2A0a9mBA0 いやテンプレートは違うか
244デフォルトの名無しさん (ワッチョイ e983-nu9H)
2017/10/27(金) 09:37:02.86ID:EP/R3fy90 ID:2A0a9mBA0 ←こういう馬鹿が本当にC++使ってるとは思えない。無職だろう。
245デフォルトの名無しさん (ワンミングク MM53-9Hsu)
2017/10/27(金) 09:50:50.86ID:+sOx5VXfM auto絶対使わないマンってややこしい型も、全部手で書いてるの?
ET使うときとかどうしてんだろ。
ET使うときとかどうしてんだろ。
246デフォルトの名無しさん (スプッッ Sd73-Lz9C)
2017/10/27(金) 10:00:22.45ID:tbT2n0brd テンプレートを除いた部分は単なるシンタックスシュガーだよ?
o->vftbl->f(o, a) と書こうが o->f(a) と書こうが何の違いもない。
テンプレートはチューリングマシンとしての計算能力があるから別だけど。
o->vftbl->f(o, a) と書こうが o->f(a) と書こうが何の違いもない。
テンプレートはチューリングマシンとしての計算能力があるから別だけど。
247デフォルトの名無しさん (ワッチョイ 11b3-20SA)
2017/10/27(金) 10:25:02.18ID:n3hllmLr0 >>245
ET使う時って評価するときか?
auto a = b + c * d;
これやるとautoの型は式テンプレートで、評価が起きないから困ったことになるぞ
(まだ評価せずに組み合わせる場合は逆にautoが便利だけど)
ET作るときや実装時は確かに型がややこしいけど、普通returnの一文で終わるから
return {うんたらかんたら};
で済むと思う
あと、ET周りの関数の宣言時をautoでやってしまうと、実装完了まで使用できないというのが足かせになると思うぞ
ET使う時って評価するときか?
auto a = b + c * d;
これやるとautoの型は式テンプレートで、評価が起きないから困ったことになるぞ
(まだ評価せずに組み合わせる場合は逆にautoが便利だけど)
ET作るときや実装時は確かに型がややこしいけど、普通returnの一文で終わるから
return {うんたらかんたら};
で済むと思う
あと、ET周りの関数の宣言時をautoでやってしまうと、実装完了まで使用できないというのが足かせになると思うぞ
248デフォルトの名無しさん (ワッチョイ 13cf-ZNW+)
2017/10/27(金) 11:54:16.72ID:2++1MvhW0 auto使うのって例えば
template <class U, class V>
auto func(U& a, V& b) -> decltype(a + b);
みたいに戻り値の型が簡単に推測しにくい時に使ってるけどな
template <class U, class V>
auto func(U& a, V& b) -> decltype(a + b);
みたいに戻り値の型が簡単に推測しにくい時に使ってるけどな
249デフォルトの名無しさん (ワッチョイ ebe8-O+EC)
2017/10/27(金) 19:49:19.03ID:+sWf4zsJ0 auto LocalFunc = [&]() { ... };
250デフォルトの名無しさん (ブーイモ MMeb-gj0X)
2017/10/27(金) 22:31:31.38ID:67YjQzLBM251デフォルトの名無しさん (ワッチョイ 13e7-20SA)
2017/10/27(金) 22:53:59.94ID:cIkV9qHA0 同じだろう
252デフォルトの名無しさん (ワッチョイ 93b3-FaL7)
2017/10/28(土) 01:40:27.36ID:rDr3prXm0 mapみたいな複数行にまたがるようなのを
for( auto const & r: hoge ){}
とかにまとめる用途にしか怖くて使えんな
意図しない型になってたけどたまたまコンパイルに通ってたとか
後で仕様変更とか根元の hoge 書き換え後にたまたまコンパイルに通ってたりとかで
期待したメソッドの動作にならなかったりとかされるとハマりそうで怖い
for( auto const & r: hoge ){}
とかにまとめる用途にしか怖くて使えんな
意図しない型になってたけどたまたまコンパイルに通ってたとか
後で仕様変更とか根元の hoge 書き換え後にたまたまコンパイルに通ってたりとかで
期待したメソッドの動作にならなかったりとかされるとハマりそうで怖い
253デフォルトの名無しさん (ワッチョイ a180-aATY)
2017/10/28(土) 02:17:51.25ID:pC+TnRxI0 >>252
暗黙の型変換乱用しないかぎりそんな事ならんと思うが
暗黙の型変換乱用しないかぎりそんな事ならんと思うが
254デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/28(土) 08:28:41.62ID:Jnrw/MWj0 テクノロジーに善悪は無い
255デフォルトの名無しさん (ワッチョイ 93b3-FaL7)
2017/10/28(土) 08:44:41.02ID:rDr3prXm0 >>253
暗黙の云々とかoperator=とかが怖いってだけ
それに後から読み返した時、どんな戻り値が欲しかったのかとか
autoだとわかり辛いって事がままあるし、autoはなるべくあちこちに散乱させたくない
.NET方面のvarとかも気持ち悪いったらありゃしない・・・
暗黙の云々とかoperator=とかが怖いってだけ
それに後から読み返した時、どんな戻り値が欲しかったのかとか
autoだとわかり辛いって事がままあるし、autoはなるべくあちこちに散乱させたくない
.NET方面のvarとかも気持ち悪いったらありゃしない・・・
256デフォルトの名無しさん (スップ Sd73-0RRx)
2017/10/28(土) 08:56:43.01ID:JVsxHO5Xd autoの数々の利点のほうが大きいからどの言語でも型推論は基本になってきてるな
メイヤーズも言ってるしマイクロソフトも推奨してるし
メイヤーズも言ってるしマイクロソフトも推奨してるし
257デフォルトの名無しさん (ワッチョイ 6b15-OCcV)
2017/10/28(土) 09:55:15.82ID:QoaQu2To0 autoはどのように推定されるかを理解して使うもので、
断じてバカ用のヘルパーではない
バカ自身はそれがわからないから変な杞憂に陥るってだけ
断じてバカ用のヘルパーではない
バカ自身はそれがわからないから変な杞憂に陥るってだけ
258デフォルトの名無しさん (ワッチョイ 33eb-Eec1)
2017/10/28(土) 11:02:25.42ID:J8kLZQh+0 バカだけどIDEさんが、IDEさんさえいてくれれば大丈夫だ問題ない
259デフォルトの名無しさん (ワッチョイ eb8a-1LOm)
2017/10/28(土) 12:14:14.53ID:BDtptoiy0 初心者はまずauto使わずにプログラミング出来るようになってからにした方がいいね
260デフォルトの名無しさん (ワッチョイ 9193-cGPg)
2017/10/28(土) 17:38:09.89ID:VIxhg0oq0 auto使わずにコンパイラの警告レベルを最高、警告は即エラーって設定にして
テンプレートライブラリ使ったテストプログラムを書いてみると
autoのありがた味が分かると思う。
ループの制御変数の型がえらいことになったりするからな。
いわんやイテレータをや。
テンプレートライブラリ使ったテストプログラムを書いてみると
autoのありがた味が分かると思う。
ループの制御変数の型がえらいことになったりするからな。
いわんやイテレータをや。
261デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/28(土) 22:00:09.12ID:Jnrw/MWj0 例えば
Bar x;
auto z = x;
としたときに、zはの型は必ずBarになってBarの基底クラスになったりしないの?
Bar x;
auto z = x;
としたときに、zはの型は必ずBarになってBarの基底クラスになったりしないの?
263デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/28(土) 22:03:17.64ID:Jnrw/MWj0 Barの基底クラスがFooだとして、
実はBarはコピコンがprivateでなぜかoperator Foo()だけがpublicで定義されているかもしれない
かもしれない運転、
実はBarはコピコンがprivateでなぜかoperator Foo()だけがpublicで定義されているかもしれない
かもしれない運転、
264デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/28(土) 22:11:30.59ID:Jnrw/MWj0 あるいは
class Foo {
void assign(const &Foo) { ... } // (A)
};
class Bar : public Foo {
void assign(const &Foo) { ... } // (B)
};
Foo x1, x2;
Bar y;
auto z = x1;
z.assign(x2); // (C)
y = z;
とかなときに(C)で呼ばれるassign()はどっち?
class Foo {
void assign(const &Foo) { ... } // (A)
};
class Bar : public Foo {
void assign(const &Foo) { ... } // (B)
};
Foo x1, x2;
Bar y;
auto z = x1;
z.assign(x2); // (C)
y = z;
とかなときに(C)で呼ばれるassign()はどっち?
266片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-+nyC)
2017/10/28(土) 22:16:47.80ID:TWx2GtJid 参照なしのautoで代入だから、この場合は同じ型でコピーだね。メソッドは仮想関数でもないから、同じクラスのメソッドが呼ばれるはずだ。
267デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/28(土) 22:57:04.67ID:Jnrw/MWj0 C++で起き得るBarとFooのパターン全てについてテストケースを考えるのは無理ゲーすぐる、
auto儲はどのようにして有限の人生と無限に近い(ときに想像を絶する結果をもたらす)C++の自由度との折り合いを付けているのであろうか…
auto儲はどのようにして有限の人生と無限に近い(ときに想像を絶する結果をもたらす)C++の自由度との折り合いを付けているのであろうか…
268片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-+nyC)
2017/10/28(土) 23:02:38.36ID:TWx2GtJid かしこいIDE使ってるなら、ビルドしたらその場でautoの型がわかるはず。スマートに行こうぜ、スマートに。
269デフォルトの名無しさん (オッペケ Sr9d-SZnS)
2017/10/28(土) 23:49:55.51ID:n2BUqhCar struct S {};
using Bar = S const;
Bar x;
auto z = x;
必ずしも同じ型ではないな
using Bar = S const;
Bar x;
auto z = x;
必ずしも同じ型ではないな
270デフォルトの名無しさん (ワッチョイ a180-aATY)
2017/10/29(日) 01:18:54.15ID:jdBIz2nU0271デフォルトの名無しさん (ワッチョイ e983-nu9H)
2017/10/29(日) 05:32:17.05ID:0yKrkLYC0 大量のC++のコードを読み、大量のC++を書いてきた人は今更シンタックスを変えようとは思わない。
碌にコードを読んだことがない、書かない人が文法を変えたがるのだ。
外国人の日本語入門者が「は」と「が」が難しいからautoにしろ、どっちの意味かは読む人、聞く人が考えろと言ってるうなもの。
ひらがなとカタカナを統一しろとかね。日本人ならそうは思わない。日本語を使い続けて必要な理由を知ってるから。
日本語から「が」がなくなれば不便で仕方がない。
だからauto使いは大学デビューとか言われるのだ。未だコードネイティブではないのだ。
10年使ってからautoが必要かどうか考えろ。答えは明らかだ。
碌にコードを読んだことがない、書かない人が文法を変えたがるのだ。
外国人の日本語入門者が「は」と「が」が難しいからautoにしろ、どっちの意味かは読む人、聞く人が考えろと言ってるうなもの。
ひらがなとカタカナを統一しろとかね。日本人ならそうは思わない。日本語を使い続けて必要な理由を知ってるから。
日本語から「が」がなくなれば不便で仕方がない。
だからauto使いは大学デビューとか言われるのだ。未だコードネイティブではないのだ。
10年使ってからautoが必要かどうか考えろ。答えは明らかだ。
272デフォルトの名無しさん (ワッチョイ 6b15-OCcV)
2017/10/29(日) 07:32:07.72ID:m60zTw010 > 大量のC++を書いてきた人は今更シンタックスを変えようとは思わない。
これは嘘
autoだけでなくtrailing return typeやusing aliasなど
かゆいところにやっと手が届いたシンタックス変更は大歓迎している
C++11以後に拒否反応しまくって、未だにC++98のマゾプレーを続行中の変態は
頭固すぎだ
# 自分で言うのも何だが、俺に頭固いなんて言われるのは極端すぎだ
これは嘘
autoだけでなくtrailing return typeやusing aliasなど
かゆいところにやっと手が届いたシンタックス変更は大歓迎している
C++11以後に拒否反応しまくって、未だにC++98のマゾプレーを続行中の変態は
頭固すぎだ
# 自分で言うのも何だが、俺に頭固いなんて言われるのは極端すぎだ
273デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/29(日) 07:55:51.29ID:Heo7FnD+0 >>270
藻前の呼びたかったassign()は実はFoo::assign()(基底クラスの方)だったかもしれないじゃん?
藻前の呼びたかったassign()は実はFoo::assign()(基底クラスの方)だったかもしれないじゃん?
274デフォルトの名無しさん (ワッチョイ 139d-xXVv)
2017/10/29(日) 08:02:49.06ID:5nFESEae0 ところでこれからC++を始めたいのだが、純粋にC++が始めたいのではなくてc言語の代わりとして
C++を使ってみたい。多少なりともC++の方が便利だろうとおもうから。一つ二つ制約があって
ROMが256バイトしかない。RAMが8Kしかない。こういう場合に今までROM48Kバイト、RAM8K
バイトでおさまっていたプログラムをC++で移植するのは余裕だろうか? それとも便利になる分
スペースがとられてRomエリアが少なすぎるってレベルだろうか?
C++を使ってみたい。多少なりともC++の方が便利だろうとおもうから。一つ二つ制約があって
ROMが256バイトしかない。RAMが8Kしかない。こういう場合に今までROM48Kバイト、RAM8K
バイトでおさまっていたプログラムをC++で移植するのは余裕だろうか? それとも便利になる分
スペースがとられてRomエリアが少なすぎるってレベルだろうか?
275デフォルトの名無しさん (ワッチョイ 9104-VtrM)
2017/10/29(日) 08:05:45.00ID:6IgW6Wrm0 アセンブリで書けるレベルじゃね?それ。
276デフォルトの名無しさん (ワッチョイ 1341-2BKa)
2017/10/29(日) 08:07:50.71ID:XRmGRjwZ0 >>271
要出典:auto使いは大学デビュー
ラムダ式を変数に入れたいときはどうやるの?
コンテナのイテレータを変数に入れたいときは型名全部書くの?
std::bindの戻り値を変数に入れたいときはどうするの?
何でもかんでもauto使うのはどうかと思うがこういう面倒なところはautoでいいんじゃね
要出典:auto使いは大学デビュー
ラムダ式を変数に入れたいときはどうやるの?
コンテナのイテレータを変数に入れたいときは型名全部書くの?
std::bindの戻り値を変数に入れたいときはどうするの?
何でもかんでもauto使うのはどうかと思うがこういう面倒なところはautoでいいんじゃね
277片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-+nyC)
2017/10/29(日) 08:09:27.19ID:k1qoOab2d278デフォルトの名無しさん (ワッチョイ 138a-whYl)
2017/10/29(日) 08:10:20.13ID:XyYI0EpP0 cでもキツいな
279デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/29(日) 08:14:51.32ID:Heo7FnD+0 多分printf()がリンクされたら死ぬレベル
280片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-+nyC)
2017/10/29(日) 08:19:49.13ID:k1qoOab2d281デフォルトの名無しさん (ワッチョイ 1341-2BKa)
2017/10/29(日) 08:25:23.25ID:XRmGRjwZ0 >>274
ROMは256Kの誤記だとして
RAM8Kはきついな
マイコン向けの開発環境も無償版や評価版なんてのがあるから一回試した方がいいと思う
コンパイラのオプションで例外と実行時型情報はOFFにするのを忘れずに
C++のコンテナクラス(std::vectorやstd::string)はメモリ不足で使えなさそうだな
ROMは256Kの誤記だとして
RAM8Kはきついな
マイコン向けの開発環境も無償版や評価版なんてのがあるから一回試した方がいいと思う
コンパイラのオプションで例外と実行時型情報はOFFにするのを忘れずに
C++のコンテナクラス(std::vectorやstd::string)はメモリ不足で使えなさそうだな
282デフォルトの名無しさん (ワッチョイ 139d-xXVv)
2017/10/29(日) 08:51:05.52ID:5nFESEae0 ROMは256kの間違い。外部RAMは256kbある。(ただしSPIでアクセスするので遅い)
だから8kは純粋にワークとして使える。
8kのRAMがきついと思うのは何故?
C++もワークはスタックを使うと思うけど、プログラムの実行エリアとして例えばクラスインスタンスを
作るのにRAMを消費することになるんだろうか? 動的にインスタンスを作成するとそのクラスが大きいと
RAMエリア(mallocで確保してロードしたら、解放するまではRAMエリアを使う)を圧迫することになる。
ということはRAMをあまり消費しない手法ってあるんだろうか?
だから8kは純粋にワークとして使える。
8kのRAMがきついと思うのは何故?
C++もワークはスタックを使うと思うけど、プログラムの実行エリアとして例えばクラスインスタンスを
作るのにRAMを消費することになるんだろうか? 動的にインスタンスを作成するとそのクラスが大きいと
RAMエリア(mallocで確保してロードしたら、解放するまではRAMエリアを使う)を圧迫することになる。
ということはRAMをあまり消費しない手法ってあるんだろうか?
283デフォルトの名無しさん (ワッチョイ 13bd-01LR)
2017/10/29(日) 09:18:10.76ID:Heo7FnD+0 普通は処理系が要求するコード、CONSTデータ、、スタック、初期値付きデータ、BSSの各セクションを
プログラマーが明示的にリンカに指示して割り当てさせるんじゃね;;
これはCもC++も同じなのでCでのやり方を理解しているなんならC++でも同じようにやれば良い
(グローバルなオブジェクトの構築と破棄の手当てが追加になるだけぐらいしか違いが無い
プログラマーが明示的にリンカに指示して割り当てさせるんじゃね;;
これはCもC++も同じなのでCでのやり方を理解しているなんならC++でも同じようにやれば良い
(グローバルなオブジェクトの構築と破棄の手当てが追加になるだけぐらいしか違いが無い
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- クリスマスの「予定なし」54% [少考さん★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★5
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ3
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 【悲報】巨人駒田3軍監督、不満爆発WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- お前ら 寒さ対策どうしてるの [769050516]
