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


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

C++相談室 part132



1 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 00:11:34.01 ID:nc/5PI4P0.net]
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

前スレ
C++相談室 part131
mevius.2ch.net/test/read.cgi/tech/1501295308/

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

■長いソースを貼るときはここへ。■
 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

152 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 19:28:43.25 ID:O4jMcQm7d.net]
typedefとdefineの違いすらわかってないのが俺

define A BだとAをBとする
typedef B AだとAをBとする
こうなるだけ?

153 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 19:37:19.87 ID:bXoG3HvV0.net]
typedefなんかもう使うな
これからはusingだ

154 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 19:38:18.60 ID:rLWliBun0.net]
>>150
#defineはソースコードのテキストを字面だけで置き換えるだけ。
typedef相当のこと以外にも色々な使い方ができるが、トリッキーなことをして分かりにくくなったり弊害が大きいので、言語仕様が拡充された現在では、なるべく使用すべきでないという風潮になっている。

155 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 19:38:36.42 ID:NTIGbrlN0.net]
defineは置き換えでtypedefは名前変更

#define SIZE 50, 200
void SetSize(int w, int h)をSetSize(SIZE)って呼ぶことができる

typedefはtypedef std::vector<MyLonglongClassName> MyVector;
とすることで短くできる

156 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 19:42:10.58 ID:O4jMcQm7d.net]
>>151
>>152
>>153
defineは俺の認識であってると思ってるけど
typedefの名前変更ってなんなんだ

defineでもint hage ってしちゃうと名前変更にならない?

157 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 19:49:02.84 ID:rLWliBun0.net]
typedefで導入した識別子の名称は、型の名前としてコンパイラが字句解析、意味解析する際に適切に扱ってくれるけど、defineの方は字面を置き換えただけだから文脈によっては意図した通りにならないケースがある。

具体例はすぐに思いつかない…
誰か詳しい人が書いてくれるかも。

158 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 20:24:28.58 ID:cygPpIjv0.net]
typedef int *IntPointer; //A
#define IntPointer int* //B

//Aの場合: int x * const の意味となり、*xは変更可能
//Bの場合: const int *x と展開され、*xは変更不可能のためコンパイルエラー
void f(const IntPointer x) { *x = 0; }

159 名前:デフォルトの名無しさん [2017/10/22(日) 20:29:43.27 ID:KI+QlBvW0.net]
>>150
#defineは、厳密にはコンパイラの機能では無いんだよね。
ただのテキスト置換なんで、様々なチェックが働かない。
置換後のテキストに対してコンパイルを行うから、エラーも難解になったりする。

対してtypedefはコンパイラの機能。
型に対してのみ別名を付ける事しか出来ないけど、ちゃんと型チェックが行われる。

160 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 21:05:01.87 ID:eZyQD2ui0.net]
typedefを一切使うなというのは無理ゲーすぐる…
std::vector<std::vector<int> > jug_array = new std::vector<std::vector<int> >(5000);
for (std::vector<std::vector<int> >::const_iterator it = jug_array.begin(); it != jug_array.end(); ++it) {
 ...
}
とかゆうのはusingでは多分std::を削れるぐらいだと思う



161 名前:デフォルトの名無しさん [2017/10/22(日) 21:07:07.30 ID:Nihr2kgP0.net]
そのusingではなく
using hoge = int;
のusingだろ

162 名前:デフォルトの名無しさん [2017/10/22(日) 21:50:12.47 ID:DuSJV2Ke0.net]
変数宣言に関してはC++03は苦行の極みだったな

163 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 22:37:08.77 ID:gV0xEv2nr.net]
typedef名が無いとintのデストラクターが呼べない
using T = int;
int{}.~T();

typedef名が無いと関数ポインターへの変換関数が書けない(たぶん)
using F = void ();
operator F *() {return nullptr;}

164 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 22:44:21.85 ID:gV0xEv2nr.net]
typedef名が無いと関数型をメンバーポインター型に変形させることができない
using MF = void () const;
MF class_type::* mp;

そして何より、関数内で#defineしたものは関数外に漏れる

165 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 23:08:06.76 ID:V6KHSGcm0.net]
>>158
型推論でいいだろ
auto jug_array = new std::vector<std::vector<int> >(5000);
for(auto it = jug_array.begin(); it != jug_array.end(); ++it) {
 ...
}

166 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 00:28:15.86 ID:WKKpeTI2r.net]
>usingでは多分std::を削れるぐらいだと思う
 ↓
>型推論でいいだろ

これがアスペというやつだな

167 名前:デフォルトの名無しさん [2017/10/23(月) 00:38:49.98 ID:a4CoBhRy0.net]
>>164
俺も思ったからアスペだわ

168 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 01:19:27.04 ID:E0HRfOuJ0.net]
>>164がアスペという可能性も微レ存

169 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 02:33:22.14 ID:4YhCJR4W0.net]
アスペかどうかはわからないけど話の流れを追わないで字面で反応する人いるよね

170 名前:デフォルトの名無しさん [2017/10/23(月) 05:45:22.43 ID:iFI38Dlw0.net]
%%%%1000%%%%

000-[HUM%58*73.1\%]/2I/3NM/61.3SNMK%?%3%51.22222222222221%
001-[[[%6/4$17.6135412α3]]]]+DOM+SIL+7%
002-UML7%[61.2[31.5[!%32∂LM17.36%!16.3!%<<<%!HSTOL7%!Q!S!=3m=<2TOL<3Q9A<2.1GHz%,DOK,HAOARA,
003-[[[HEMLOT47[<\41.2%Q,===>[MLS<DPNO<\2.3>#ESOLA!5%!3MLA!>LTOSA>7TONSA>%>%end



171 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 06:00:11.73 ID:tsKHL/vaM.net]
>>164
はあ?
なに言ってるんだこいつ w

172 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 07:39:17.13 ID:FnrJWB1+0.net]
CPUはアスペルガー
アスペルガーはプログラミング対象としては正しい

173 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 11:48:03.94 ID:L0yyts890.net]
そもそも>>158>>163もコード間違ってるし
バカってなんで要らんところでnew使おうとするかね

174 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 11:49:59.55 ID:L0yyts890.net]
あっそうかジャヴァカコーダー上がりか

175 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 12:28:15.79 ID:L0yyts890.net]
ヴァカ+auto→地獄

176 名前:デフォルトの名無しさん [2017/10/23(月) 15:37:17.98 ID:a4CoBhRy0.net]
>>171
>>165 でアスペ認定された俺も思ったからお前もだな。

177 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 20:39:12.10 ID:FnrJWB1+0.net]
newはちょっと手が滑っただけ;
もちろんスマポとセットで無いとnewとか滅多に使わない

178 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 21:07:31.46 ID:/BPh9WwQM.net]
auto知らなかった老害が暴れてるのか w

179 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 22:09:17.50 ID:L0yyts890.net]
>>176
糞ヴァカは二度と書き込むな
w付けたってお前のヴァカさ加減が軽減されることはないからこのカス

180 名前:デフォルトの名無しさん [2017/10/23(月) 22:27:44.44 ID:D0YLsnUF0.net]
C言語の知識があるんだけどC++も応用できる?



181 名前:デフォルトの名無しさん [2017/10/23(月) 22:37:44.10 ID:/pLbKGxJ0.net]
できる!

182 名前:片山博文MZ mailto:sage [2017/10/23(月) 22:38:51.33 ID:aoVPN+Cqd.net]
>>178
まずはデストラクターの便利さを学んでね。

183 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 00:14:32.80 ID:HCv33Y/ud.net]
auto pointerのこと?
あれいつ見ても使うタイミングわかんないや

define typedefこたえてくれたひとありがとう
>>156のAのやつがなぜこうなるのか頭のなかでさっぱり理解できんけどがんばる

184 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 01:23:29.92 ID:6ceRFBNE0.net]
オートポインターは廃止になった。
スマポ使おう。

185 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 01:26:01.20 ID:grT3veHx0.net]
>>181
Aの場合はint * const x の間違いだろう。
int*型という1つの型全体にconstがかかっている。

186 名前:デフォルトの名無しさん [2017/10/24(火) 03:02:15.07 ID:Od9TZRLJ0.net]
ポインタは型なのだろうか。

187 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 03:19:16.91 ID:F7KgZr1H0.net]
コードの書かない奴ほどC++をやっつけスクリプト言語化しようとする。

auto馬鹿どもを駆逐せよ。

188 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 07:17:33.32 ID:4VNEc1KXM.net]
>>177, >>185
動的型付けと型推論の違いも理解できない老害ははやくくたばればいいのに

189 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 08:02:35.16 ID:/FFLOfov0.net]
ヴァカが精一杯頑張って吐き出したクッサイ唾がこれ↑

190 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 08:42:18.81 ID:4VNEc1KXM.net]
> 動的型付けと型推論の違いも理解できない老害
は否定できないんだ w



191 名前:デフォルトの名無しさん [2017/10/24(火) 10:20:18.72 ID:kyzMRAwBd.net]
>>186
autoのことをanyやvariantと勘違いしてるとか?

192 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 12:37:21.38 ID:/FFLOfov0.net]
そんな勘違いしてるとなんで思い込むか全く分からんわ
まあヴァカの考えることなんて分かったら大変だけど

193 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 12:42:47.65 ID:/FFLOfov0.net]
こいつの脳内には「動的型付けと型推論の違いも理解できない老害 」
とやらが住んでいてるんだろうな。
それ少し前のお前自身の姿だからゲラゲラ

194 名前:デフォルトの名無しさん [2017/10/24(火) 12:43:32.89 ID:Od9TZRLJ0.net]
世の中バカばかり、自分だけがよくわかっている。
ってことでしょうか。

195 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 16:53:21.77 ID:RCW9qhL70.net]
こいつプログラミング板荒らしまわってる某コテハンと同じ臭いがする

196 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 17:21:11.13 ID:xOeS6ucYM.net]
まぁ、もうそろそろNG設定かね。俺は設定した。

大した技術持って無さそうだし。

197 名前:片山博文MZ mailto:sage [2017/10/24(火) 17:41:23.62 ID:+CxSIN/Vd.net]
2ちゃんねるのコテハンにはろくなヤツがいないって、戦後生まれのじっちゃんが言っていた。

198 名前:片山博文MZ mailto:sage [2017/10/24(火) 18:40:29.57 ID:+CxSIN/Vd.net]
そろそろ仕事やめて、めしにしようぜ

カレーライスとお子様ランチのどっちがいい?

199 名前:片山博文MZ mailto:sage [2017/10/24(火) 18:53:07.38 ID:+CxSIN/Vd.net]
ギロッポンでめしにすっべ
今日は俺のおごりだ

200 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:33:42.55 ID:4VNEc1KXM.net]
>>190
いきなりスクリプトとか言い出した理由書いてみ
どんな言い訳が見れるのか楽しみだよ w



201 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:44:02.68 ID:yRLde5ii0.net]
>>176
左様
autoを見て嘔吐

202 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:53:50.44 ID:YuTKkjXTr.net]
auto jug_array = std::vector<std::vector<int>>(5000);
という書き方は2012年ごろにさっちんとメイヤーが広めようとしていた
C++17でこの書き方が広まったら>>185はもう出家するしかない

203 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:55:00.66 ID:FyKtaGrZ0.net]
autoに関して応答なさそうですね

204 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:56:05.26 ID:YuTKkjXTr.net]
昭和のアロマが強烈

205 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 21:14:49.95 ID:yRLde5ii0.net]
良く考えずに書いたが良く考えたら普通は
std::vector<std::vector<int>> jug_array(5000);
と書くところだったなあ…

206 名前:デフォルトの名無しさん [2017/10/24(火) 21:50:21.25 ID:018tmIsf0.net]
UWPスレとか毛色が違うみたいだし、C++/CLIスレとか落ちてるんでここで教えて下さい

VS2017のC++/WinRTで新しいプロジェクトを作成
(Visual C++ → Windowsユニバーサル → 単体テストアプリ)
実行すると TEST APP 、Unit Test 、Tests Running の3つの文字が出てくるウィンドウが出てきます
しかし、UnitTestApp.xaml の Application要素の中身は、空っぽです
新しくブランクページを作ると、Page要素になって、デザインできる上にボタン等を貼り付けると
Page要素の中に要素が作られます

Application要素の中身は一体どこにあるのでしょう?

207 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 22:02:36.84 ID:hjkLVxi70.net]
>>204
Xamarin Part6
mevius.5ch.net/test/read.cgi/tech/1508367307/

208 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 22:15:38.33 ID:018tmIsf0.net]
>>205
そっちになるんですね、失礼しました、>>204は取り下げて移動します

209 名前:デフォルトの名無しさん [2017/10/25(水) 18:49:27.48 ID:qOXOqU1a0.net]
c++でダックタイピングのようなものをやりたいです。
void型で受け取ったクラスを自前で用意したインターフェースクラスにキャストして関数を呼び出すって可能ですか?
やり方や参考になるサイトなどあれば教えて欲しいです。
templateでの型消去はコンパイル段階でクラスを知らないせいで弾かれてしまっているようです……

210 名前:デフォルトの名無しさん mailto:sage釣 [2017/10/25(水) 19:02:03.57 ID:16XMr+7o0.net]
vfptrの実装状況によるから、未知の抽象クラスのメソッドって
呼べないと思うんだが



211 名前:デフォルトの名無しさん [2017/10/25(水) 19:20:07.39 ID:qOXOqU1a0.net]
>>208
ありがとうございます
やっぱクラスの構成わかんなきゃアクセスしようがないですよね……
exeのlibに依存せずになんとかdll開発できないかと考えてたんですが無理そうですね
諦めます

212 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:21:19.49 ID:Srjg9fpL0.net]
>>207
っinterpret_cast?
その代わり、ちゃんと素養のまともなモノを使わないとみ定義でPC死ぬからな。

213 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:28:12.28 ID:Srjg9fpL0.net]
https://msdn.microsoft.com/ja-jp/library/e0w9f63b.aspx
reinterpret_castだった。
かなり危ない。

214 名前:デフォルトの名無しさん [2017/10/25(水) 19:38:49.97 ID:qOXOqU1a0.net]
>>210
ありがとう。これだと型確認回避できるのか……希望が見えてきました
ちょっと試してみます。

215 名前:デフォルトの名無しさん [2017/10/25(水) 20:09:22.57 ID:r5sy60NsM.net]
おおっと、auto の話題には注意しないとな。

216 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:51:07.58 ID:t7oUy/d3r.net]
昭和生まれの老害はそろそろ引退すべき

217 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:55:21.88 ID:SS3Ej639M.net]
64年生まれの妹が不憫でならない

218 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 22:31:10.63 ID:Nep/tIRvd.net]
.outからsoファイル呼び出す形を作ってるのだけど
変数の共有するのってグローバル変数にするのとシングルとんみたいなの作る以外にある?
関数の引数にはできない状態だと

219 名前:デフォルトの名無しさん [2017/10/26(木) 01:08:27.67 ID:KrANDw+50.net]
>>216
グローバル「関数」内にstatic変数なんてどう?

ちょっと範囲が狭くなるけど、スレッドローカルストレージとかも。

220 名前:デフォルトの名無しさん [2017/10/26(木) 01:17:12.83 ID:SQPezUK20.net]
>>200
OSや組み込み、ドライバでその書き方が広まったら認めてやるよ。

使い捨て、やっつけコードしか書かない小便垂れ小僧が。



221 名前:デフォルトの名無しさん [2017/10/26(木) 02:08:33.19 ID:s0ODk43E0.net]
イッツautoマーチック

222 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 03:38:24.52 ID:H69oM85Y0.net]
>>216
俺は何かの設定じみたものは環境変数に入れとくこともある。
言語問わず子プロセスでも使えて便利。

223 名前:デフォルトの名無しさん [2017/10/26(木) 08:42:36.44 ID:KrANDw+50.net]
>>219
まんまやん

224 名前:デフォルトの名無しさん [2017/10/26(木) 08:43:28.94 ID:KrANDw+50.net]
>>220
ああ、確かに環境変数も使うね。

225 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 14:14:49.39 ID:yHns7wn+p.net]
>>218
パッケージソフトやゲームはガン無視か

226 名前:デフォルトの名無しさん [2017/10/26(木) 14:32:13.77 ID:3HeaIUwTd.net]
OSと組み込みとドライバって特権階級かなんかなの?

227 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 14:59:42.90 ID:97gM9QaUa.net]
>>218がその世界しか知らない(それ以外は俺にはかんけーない)ということにじゃないかな

228 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 16:12:23.15 ID:fpqT055X0.net]
OS内部とかドライバとか、位置によってはメモリ確保の方法変わってくるし
組み込みで動的にメモリ確保とか怖くってやってらんねーとかじゃい?
静的か自動変数にインスタンスの実体置くなら一応なんとかなるんだろうけど・・・
いや、静的だとコンストラクタがくっそ面倒か? auto とか生きてくるのって、
大抵ばかすかコンテナに要素しこたま抱える様な用途だしな

229 名前:223 mailto:sage [2017/10/26(木) 16:48:19.15 ID:sfpBhfHr0.net]
いやautoの議論にケチつけたつもりは無いよ(俺も滅多にauto使わんし
C++の実用される現場といえばOS、組み込み、ドライバくらいしか挙げない人が多いから釘刺したかっただけ

230 名前:デフォルトの名無しさん [2017/10/26(木) 17:11:31.86 ID:kUEk6KjE0.net]
auto使わないとか頭固すぎ
使えるところは全てautoだわ



231 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 17:59:27.25 ID:obzhKUOY0.net]
単なるシンタックスシュガーでなんのオーバーヘッドや副作用があるわけじゃ無いしな

232 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 18:40:54.94 ID:se7vIA1E0.net]
auto下痢症

233 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 18:55:08.38 ID:EF3aiwNW0.net]
autoネタ大人気だな
俺もiteratorなんかじゃ迷わずauto使うけど
ポインタすらちゃんと理解してないような奴が無闇にauto使ってるのを見るとね

234 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 18:57:53.27 ID:KmwbyHDC0.net]
それ以上autoの話をするのはアウトだぞ

235 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 19:55:30.03 ID:se7vIA1E0.net]
おぉっと

236 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 20:20:21.90 ID:8UQnYlEC0.net]
同じ話題ばかりで食傷気味、もう吐きそう。
…というこの書き込みも同系ネタで済まぬ。

237 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 22:27:19.25 ID:oyaJ8gC3M.net]
>>229
auto を単なるシンタックスシュガーと言うのもどうかと思うが
とりあえず使わないと言う選択肢はないわ

238 名前:片山博文MZ mailto:sage [2017/10/26(木) 22:29:12.27 ID:LcK6lNJBd.net]
暇潰しに
https://github.com/katahiromz/TextCanvas
でも見て行って

239 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 22:31:49.27 ID:6866r+hk0.net]
嘔吐嘔吐、うるせーなぁ(´・ω・`)

240 名前:デフォルトの名無しさん [2017/10/27(金) 04:04:41.73 ID:lyx9X4ms0.net]
>>228
同感



241 名前:デフォルトの名無しさん [2017/10/27(金) 08:02:50.09 ID:O+M8u5Cb0.net]
>>233
>>233
>>233

242 名前:デフォルトの名無しさん [2017/10/27(金) 08:33:50.52 ID:beF6mKBOd.net]
C++使わないとか頭固すぎ
使えるところは全部C++だわ

243 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 08:39:18.11 ID:2A0a9mBA0.net]
単なるシンタックスシュガーでオーバーヘッドとか副作用無いしねw

244 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 08:39:47.11 ID:2A0a9mBA0.net]
いやテンプレートは違うか

245 名前:デフォルトの名無しさん [2017/10/27(金) 08:41:10.57 ID:Aa1jtLeH0.net]
実は>>213は、>>233のパクリ

246 名前:デフォルトの名無しさん [2017/10/27(金) 09:37:02.86 ID:EP/R3fy90.net]
ID:2A0a9mBA0 ←こういう馬鹿が本当にC++使ってるとは思えない。無職だろう。

247 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 09:50:50.86 ID:+sOx5VXfM.net]
auto絶対使わないマンってややこしい型も、全部手で書いてるの?
ET使うときとかどうしてんだろ。

248 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 10:00:22.45 ID:tbT2n0brd.net]
テンプレートを除いた部分は単なるシンタックスシュガーだよ?
o->vftbl->f(o, a) と書こうが o->f(a) と書こうが何の違いもない。
テンプレートはチューリングマシンとしての計算能力があるから別だけど。

249 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 10:25:02.18 ID:n3hllmLr0.net]
>>245
ET使う時って評価するときか?
auto a = b + c * d;
これやるとautoの型は式テンプレートで、評価が起きないから困ったことになるぞ
(まだ評価せずに組み合わせる場合は逆にautoが便利だけど)
ET作るときや実装時は確かに型がややこしいけど、普通returnの一文で終わるから
return {うんたらかんたら};
で済むと思う

あと、ET周りの関数の宣言時をautoでやってしまうと、実装完了まで使用できないというのが足かせになると思うぞ

250 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 11:54:16.72 ID:2++1MvhW0.net]
auto使うのって例えば

template <class U, class V>
auto func(U& a, V& b) -> decltype(a + b);

みたいに戻り値の型が簡単に推測しにくい時に使ってるけどな



251 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 19:49:19.03 ID:+sWf4zsJ0.net]
auto LocalFunc = [&]() { ... };

252 名前:デフォルトの名無しさん [2017/10/27(金) 22:31:31.38 ID:67YjQzLBM.net]
>>248
そのautoは型推論のautoとは違う使い方だよね。
戻値の後置宣言都合によるプレースホルダ的な。






[ 続きを読む ] / [ 携帯版 ]

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

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