C++相談室 part132

■ このスレッドは過去ログ倉庫に格納されています
2017/10/10(火) 00:11:34.01ID:nc/5PI4P0
次スレを立てる時は本文の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
2017/10/23(月) 01:19:27.04ID:E0HRfOuJ0
>>164がアスペという可能性も微レ存
2017/10/23(月) 02:33:22.14ID:4YhCJR4W0
アスペかどうかはわからないけど話の流れを追わないで字面で反応する人いるよね
168デフォルトの名無しさん (ワッチョイ ddb3-0GSP)
垢版 |
2017/10/23(月) 05:45:22.43ID:iFI38Dlw0
%%%%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
2017/10/23(月) 06:00:11.73ID:tsKHL/vaM
>>164
はあ?
なに言ってるんだこいつ w
2017/10/23(月) 07:39:17.13ID:FnrJWB1+0
CPUはアスペルガー
アスペルガーはプログラミング対象としては正しい
2017/10/23(月) 11:48:03.94ID:L0yyts890
そもそも>>158>>163もコード間違ってるし
バカってなんで要らんところでnew使おうとするかね
2017/10/23(月) 11:49:59.55ID:L0yyts890
あっそうかジャヴァカコーダー上がりか
2017/10/23(月) 12:28:15.79ID:L0yyts890
ヴァカ+auto→地獄
174デフォルトの名無しさん (ワッチョイ 4d80-9ZeW)
垢版 |
2017/10/23(月) 15:37:17.98ID:a4CoBhRy0
>>171
>>165 でアスペ認定された俺も思ったからお前もだな。
2017/10/23(月) 20:39:12.10ID:FnrJWB1+0
newはちょっと手が滑っただけ;
もちろんスマポとセットで無いとnewとか滅多に使わない
2017/10/23(月) 21:07:31.46ID:/BPh9WwQM
auto知らなかった老害が暴れてるのか w
2017/10/23(月) 22:09:17.50ID:L0yyts890
>>176
糞ヴァカは二度と書き込むな
w付けたってお前のヴァカさ加減が軽減されることはないからこのカス
178デフォルトの名無しさん (ワッチョイ cee7-LaKm)
垢版 |
2017/10/23(月) 22:27:44.44ID:D0YLsnUF0
C言語の知識があるんだけどC++も応用できる?
179デフォルトの名無しさん (ワッチョイ 163e-v1IO)
垢版 |
2017/10/23(月) 22:37:44.10ID:/pLbKGxJ0
できる!
2017/10/23(月) 22:38:51.33ID:aoVPN+Cqd
>>178
まずはデストラクターの便利さを学んでね。
2017/10/24(火) 00:14:32.80ID:HCv33Y/ud
auto pointerのこと?
あれいつ見ても使うタイミングわかんないや

define typedefこたえてくれたひとありがとう
>>156のAのやつがなぜこうなるのか頭のなかでさっぱり理解できんけどがんばる
2017/10/24(火) 01:23:29.92ID:6ceRFBNE0
オートポインターは廃止になった。
スマポ使おう。
2017/10/24(火) 01:26:01.20ID:grT3veHx0
>>181
Aの場合はint * const x の間違いだろう。
int*型という1つの型全体にconstがかかっている。
184デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
垢版 |
2017/10/24(火) 03:02:15.07ID:Od9TZRLJ0
ポインタは型なのだろうか。
2017/10/24(火) 03:19:16.91ID:F7KgZr1H0
コードの書かない奴ほどC++をやっつけスクリプト言語化しようとする。

auto馬鹿どもを駆逐せよ。
2017/10/24(火) 07:17:33.32ID:4VNEc1KXM
>>177, >>185
動的型付けと型推論の違いも理解できない老害ははやくくたばればいいのに
2017/10/24(火) 08:02:35.16ID:/FFLOfov0
ヴァカが精一杯頑張って吐き出したクッサイ唾がこれ↑
2017/10/24(火) 08:42:18.81ID:4VNEc1KXM
> 動的型付けと型推論の違いも理解できない老害
は否定できないんだ w
189デフォルトの名無しさん (スプッッ Sd7a-6gne)
垢版 |
2017/10/24(火) 10:20:18.72ID:kyzMRAwBd
>>186
autoのことをanyやvariantと勘違いしてるとか?
2017/10/24(火) 12:37:21.38ID:/FFLOfov0
そんな勘違いしてるとなんで思い込むか全く分からんわ
まあヴァカの考えることなんて分かったら大変だけど
2017/10/24(火) 12:42:47.65ID:/FFLOfov0
こいつの脳内には「動的型付けと型推論の違いも理解できない老害 」
とやらが住んでいてるんだろうな。
それ少し前のお前自身の姿だからゲラゲラ
192デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
垢版 |
2017/10/24(火) 12:43:32.89ID:Od9TZRLJ0
世の中バカばかり、自分だけがよくわかっている。
ってことでしょうか。
2017/10/24(火) 16:53:21.77ID:RCW9qhL70
こいつプログラミング板荒らしまわってる某コテハンと同じ臭いがする
2017/10/24(火) 17:21:11.13ID:xOeS6ucYM
まぁ、もうそろそろNG設定かね。俺は設定した。

大した技術持って無さそうだし。
2017/10/24(火) 17:41:23.62ID:+CxSIN/Vd
2ちゃんねるのコテハンにはろくなヤツがいないって、戦後生まれのじっちゃんが言っていた。
2017/10/24(火) 18:40:29.57ID:+CxSIN/Vd
そろそろ仕事やめて、めしにしようぜ

カレーライスとお子様ランチのどっちがいい?
2017/10/24(火) 18:53:07.38ID:+CxSIN/Vd
ギロッポンでめしにすっべ
今日は俺のおごりだ
2017/10/24(火) 20:33:42.55ID:4VNEc1KXM
>>190
いきなりスクリプトとか言い出した理由書いてみ
どんな言い訳が見れるのか楽しみだよ w
2017/10/24(火) 20:44:02.68ID:yRLde5ii0
>>176
左様
autoを見て嘔吐
2017/10/24(火) 20:53:50.44ID:YuTKkjXTr
auto jug_array = std::vector<std::vector<int>>(5000);
という書き方は2012年ごろにさっちんとメイヤーが広めようとしていた
C++17でこの書き方が広まったら>>185はもう出家するしかない
2017/10/24(火) 20:55:00.66ID:FyKtaGrZ0
autoに関して応答なさそうですね
2017/10/24(火) 20:56:05.26ID:YuTKkjXTr
昭和のアロマが強烈
2017/10/24(火) 21:14:49.95ID:yRLde5ii0
良く考えずに書いたが良く考えたら普通は
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要素の中身は一体どこにあるのでしょう?
2017/10/24(火) 22:02:36.84ID:hjkLVxi70
>>204
Xamarin Part6
http://mevius.5ch.net/test/read.cgi/tech/1508367307/
2017/10/24(火) 22:15:38.33ID:018tmIsf0
>>205
そっちになるんですね、失礼しました、>>204は取り下げて移動します
207デフォルトの名無しさん (ワッチョイ e5b3-2TAP)
垢版 |
2017/10/25(水) 18:49:27.48ID:qOXOqU1a0
c++でダックタイピングのようなものをやりたいです。
void型で受け取ったクラスを自前で用意したインターフェースクラスにキャストして関数を呼び出すって可能ですか?
やり方や参考になるサイトなどあれば教えて欲しいです。
templateでの型消去はコンパイル段階でクラスを知らないせいで弾かれてしまっているようです……
2017/10/25(水) 19:02:03.57ID:16XMr+7o0
vfptrの実装状況によるから、未知の抽象クラスのメソッドって
呼べないと思うんだが
209デフォルトの名無しさん (ワッチョイ e5b3-2TAP)
垢版 |
2017/10/25(水) 19:20:07.39ID:qOXOqU1a0
>>208
ありがとうございます
やっぱクラスの構成わかんなきゃアクセスしようがないですよね……
exeのlibに依存せずになんとかdll開発できないかと考えてたんですが無理そうですね
諦めます
2017/10/25(水) 19:21:19.49ID:Srjg9fpL0
>>207
っinterpret_cast?
その代わり、ちゃんと素養のまともなモノを使わないとみ定義でPC死ぬからな。
2017/10/25(水) 19:28:12.28ID:Srjg9fpL0
https://msdn.microsoft.com/ja-jp/library/e0w9f63b.aspx
reinterpret_castだった。
かなり危ない。
212デフォルトの名無しさん (ワッチョイ e5b3-2TAP)
垢版 |
2017/10/25(水) 19:38:49.97ID:qOXOqU1a0
>>210
ありがとう。これだと型確認回避できるのか……希望が見えてきました
ちょっと試してみます。
213デフォルトの名無しさん (ブーイモ MM71-v1IO)
垢版 |
2017/10/25(水) 20:09:22.57ID:r5sy60NsM
おおっと、auto の話題には注意しないとな。
2017/10/25(水) 20:51:07.58ID:t7oUy/d3r
昭和生まれの老害はそろそろ引退すべき
2017/10/25(水) 20:55:21.88ID:SS3Ej639M
64年生まれの妹が不憫でならない
2017/10/25(水) 22:31:10.63ID:Nep/tIRvd
.outからsoファイル呼び出す形を作ってるのだけど
変数の共有するのってグローバル変数にするのとシングルとんみたいなの作る以外にある?
関数の引数にはできない状態だと
217デフォルトの名無しさん (ワッチョイ 6b3e-gj0X)
垢版 |
2017/10/26(木) 01:08:27.67ID:KrANDw+50
>>216
グローバル「関数」内にstatic変数なんてどう?

ちょっと範囲が狭くなるけど、スレッドローカルストレージとかも。
218デフォルトの名無しさん (ワッチョイ e983-nu9H)
垢版 |
2017/10/26(木) 01:17:12.83ID:SQPezUK20
>>200
OSや組み込み、ドライバでその書き方が広まったら認めてやるよ。

使い捨て、やっつけコードしか書かない小便垂れ小僧が。
219デフォルトの名無しさん (ワッチョイ d178-4HSd)
垢版 |
2017/10/26(木) 02:08:33.19ID:s0ODk43E0
イッツautoマーチック
2017/10/26(木) 03:38:24.52ID:H69oM85Y0
>>216
俺は何かの設定じみたものは環境変数に入れとくこともある。
言語問わず子プロセスでも使えて便利。
221デフォルトの名無しさん (ワッチョイ 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
ああ、確かに環境変数も使うね。
2017/10/26(木) 14:14:49.39ID:yHns7wn+p
>>218
パッケージソフトやゲームはガン無視か
224デフォルトの名無しさん (スプッッ Sd73-Gmo/)
垢版 |
2017/10/26(木) 14:32:13.77ID:3HeaIUwTd
OSと組み込みとドライバって特権階級かなんかなの?
2017/10/26(木) 14:59:42.90ID:97gM9QaUa
>>218がその世界しか知らない(それ以外は俺にはかんけーない)ということにじゃないかな
2017/10/26(木) 16:12:23.15ID:fpqT055X0
OS内部とかドライバとか、位置によってはメモリ確保の方法変わってくるし
組み込みで動的にメモリ確保とか怖くってやってらんねーとかじゃい?
静的か自動変数にインスタンスの実体置くなら一応なんとかなるんだろうけど・・・
いや、静的だとコンストラクタがくっそ面倒か? auto とか生きてくるのって、
大抵ばかすかコンテナに要素しこたま抱える様な用途だしな
2017/10/26(木) 16:48:19.15ID:sfpBhfHr0
いやautoの議論にケチつけたつもりは無いよ(俺も滅多にauto使わんし
C++の実用される現場といえばOS、組み込み、ドライバくらいしか挙げない人が多いから釘刺したかっただけ
228デフォルトの名無しさん (ワッチョイ 917f-20SA)
垢版 |
2017/10/26(木) 17:11:31.86ID:kUEk6KjE0
auto使わないとか頭固すぎ
使えるところは全てautoだわ
2017/10/26(木) 17:59:27.25ID:obzhKUOY0
単なるシンタックスシュガーでなんのオーバーヘッドや副作用があるわけじゃ無いしな
2017/10/26(木) 18:40:54.94ID:se7vIA1E0
auto下痢症
2017/10/26(木) 18:55:08.38ID:EF3aiwNW0
autoネタ大人気だな
俺もiteratorなんかじゃ迷わずauto使うけど
ポインタすらちゃんと理解してないような奴が無闇にauto使ってるのを見るとね
2017/10/26(木) 18:57:53.27ID:KmwbyHDC0
それ以上autoの話をするのはアウトだぞ
2017/10/26(木) 19:55:30.03ID:se7vIA1E0
おぉっと
2017/10/26(木) 20:20:21.90ID:8UQnYlEC0
同じ話題ばかりで食傷気味、もう吐きそう。
…というこの書き込みも同系ネタで済まぬ。
2017/10/26(木) 22:27:19.25ID:oyaJ8gC3M
>>229
auto を単なるシンタックスシュガーと言うのもどうかと思うが
とりあえず使わないと言う選択肢はないわ
2017/10/26(木) 22:29:12.27ID:LcK6lNJBd
暇潰しに
https://github.com/katahiromz/TextCanvas
でも見て行って
2017/10/26(木) 22:31:49.27ID:6866r+hk0
嘔吐嘔吐、うるせーなぁ(´・ω・`)
238デフォルトの名無しさん (ワッチョイ 6b5b-OCcV)
垢版 |
2017/10/27(金) 04:04:41.73ID:lyx9X4ms0
>>228
同感
239デフォルトの名無しさん (ワッチョイ 93b3-FaL7)
垢版 |
2017/10/27(金) 08:02:50.09ID:O+M8u5Cb0
>>233
>>233
>>233
240デフォルトの名無しさん (スップ Sd73-Gmo/)
垢版 |
2017/10/27(金) 08:33:50.52ID:beF6mKBOd
C++使わないとか頭固すぎ
使えるところは全部C++だわ
2017/10/27(金) 08:39:18.11ID:2A0a9mBA0
単なるシンタックスシュガーでオーバーヘッドとか副作用無いしねw
2017/10/27(金) 08:39:47.11ID:2A0a9mBA0
いやテンプレートは違うか
243デフォルトの名無しさん (ワッチョイ 6b3e-gj0X)
垢版 |
2017/10/27(金) 08:41:10.57ID:Aa1jtLeH0
実は>>213は、>>233のパクリ
244デフォルトの名無しさん (ワッチョイ e983-nu9H)
垢版 |
2017/10/27(金) 09:37:02.86ID:EP/R3fy90
ID:2A0a9mBA0 ←こういう馬鹿が本当にC++使ってるとは思えない。無職だろう。
2017/10/27(金) 09:50:50.86ID:+sOx5VXfM
auto絶対使わないマンってややこしい型も、全部手で書いてるの?
ET使うときとかどうしてんだろ。
2017/10/27(金) 10:00:22.45ID:tbT2n0brd
テンプレートを除いた部分は単なるシンタックスシュガーだよ?
o->vftbl->f(o, a) と書こうが o->f(a) と書こうが何の違いもない。
テンプレートはチューリングマシンとしての計算能力があるから別だけど。
2017/10/27(金) 10:25:02.18ID:n3hllmLr0
>>245
ET使う時って評価するときか?
auto a = b + c * d;
これやるとautoの型は式テンプレートで、評価が起きないから困ったことになるぞ
(まだ評価せずに組み合わせる場合は逆にautoが便利だけど)
ET作るときや実装時は確かに型がややこしいけど、普通returnの一文で終わるから
return {うんたらかんたら};
で済むと思う

あと、ET周りの関数の宣言時をautoでやってしまうと、実装完了まで使用できないというのが足かせになると思うぞ
2017/10/27(金) 11:54:16.72ID:2++1MvhW0
auto使うのって例えば

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

みたいに戻り値の型が簡単に推測しにくい時に使ってるけどな
2017/10/27(金) 19:49:19.03ID:+sWf4zsJ0
auto LocalFunc = [&]() { ... };
250デフォルトの名無しさん (ブーイモ MMeb-gj0X)
垢版 |
2017/10/27(金) 22:31:31.38ID:67YjQzLBM
>>248
そのautoは型推論のautoとは違う使い方だよね。
戻値の後置宣言都合によるプレースホルダ的な。
2017/10/27(金) 22:53:59.94ID:cIkV9qHA0
同じだろう
2017/10/28(土) 01:40:27.36ID:rDr3prXm0
mapみたいな複数行にまたがるようなのを
for( auto const & r: hoge ){}
とかにまとめる用途にしか怖くて使えんな
意図しない型になってたけどたまたまコンパイルに通ってたとか
後で仕様変更とか根元の hoge 書き換え後にたまたまコンパイルに通ってたりとかで
期待したメソッドの動作にならなかったりとかされるとハマりそうで怖い
253デフォルトの名無しさん (ワッチョイ a180-aATY)
垢版 |
2017/10/28(土) 02:17:51.25ID:pC+TnRxI0
>>252
暗黙の型変換乱用しないかぎりそんな事ならんと思うが
2017/10/28(土) 08:28:41.62ID:Jnrw/MWj0
テクノロジーに善悪は無い
2017/10/28(土) 08:44:41.02ID:rDr3prXm0
>>253
暗黙の云々とか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はどのように推定されるかを理解して使うもので、
断じてバカ用のヘルパーではない
バカ自身はそれがわからないから変な杞憂に陥るってだけ
2017/10/28(土) 11:02:25.42ID:J8kLZQh+0
バカだけどIDEさんが、IDEさんさえいてくれれば大丈夫だ問題ない
2017/10/28(土) 12:14:14.53ID:BDtptoiy0
初心者はまずauto使わずにプログラミング出来るようになってからにした方がいいね
2017/10/28(土) 17:38:09.89ID:VIxhg0oq0
auto使わずにコンパイラの警告レベルを最高、警告は即エラーって設定にして
テンプレートライブラリ使ったテストプログラムを書いてみると
autoのありがた味が分かると思う。

ループの制御変数の型がえらいことになったりするからな。
いわんやイテレータをや。
2017/10/28(土) 22:00:09.12ID:Jnrw/MWj0
例えば
 Bar x;
 auto z = x;
としたときに、zはの型は必ずBarになってBarの基底クラスになったりしないの?
2017/10/28(土) 22:00:59.73ID:TWx2GtJid
>>261
インスタンスとクラスを区別せよ。
2017/10/28(土) 22:03:17.64ID:Jnrw/MWj0
Barの基底クラスがFooだとして、
実はBarはコピコンがprivateでなぜかoperator Foo()だけがpublicで定義されているかもしれない
かもしれない運転、
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()はどっち?
2017/10/28(土) 22:12:10.53ID:TWx2GtJid
>>264
試せばわかる。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況