◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

C++相談室 part142 ->画像>13枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1554124625/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

201デフォルトの名無しさん2019/04/13(土) 15:06:42.85ID:nqhK1mlk
>>200
C++の部分はネイティブなのでOSに依存する

202デフォルトの名無しさん2019/04/13(土) 15:20:25.21ID:U0TmzhoK
スマン。CPU毎にバイナリは必要で、
clangに -macrh=xxx-xxx-xxx オプションを指定して CPUやOSを
指定してコンパイルしておくことを想定していた。
ただし、複数のCPU/OS向けのバイナリを1つのAPKにパッケージして、
使用時に自動選択する事が出来るらしい。

203デフォルトの名無しさん2019/04/13(土) 15:31:06.15ID:pwnjfljv
わざわざjavaを使わなきゃいけないのが気にくわない
その場合、javaだけで書くこと以上のメリットある?

204デフォルトの名無しさん2019/04/13(土) 15:32:58.01ID:U0TmzhoK
速度が速い。

205デフォルトの名無しさん2019/04/13(土) 15:33:33.54ID:MSTjQ8pp
てかそれってjavaのアプリ作っているだけじゃ

206デフォルトの名無しさん2019/04/13(土) 15:36:48.83ID:U0TmzhoK
Androidアプリは、Javaで書くのが基本とされてるけど、
Chromeブラウザなんかはきっと、C++で書いたものを ARMなどの
CPU向けのnative binaryに直し、それをAPKにパッケージ化して
配布してるのではなかろうか? AmazonのFire7 や Fire HD 8 などの
タブレットのCPUはどちらもARMらしい。スマホもARMが多いのかな。

207デフォルトの名無しさん2019/04/13(土) 15:38:37.67ID:U0TmzhoK
>>205
基本的な描画系と入力系をライブラリ化しておけば、メインロジック部分は
C++で書けると思うよ。

208デフォルトの名無しさん2019/04/13(土) 15:42:52.17ID:U0TmzhoK
さっき、AdoptOpenJDK なるものをインストールしてみたら、
java と javac コマンドが起動することを確認した。
多分このJDKは、Oracle フリーで無料でクローズド商用利用できると思う。

209デフォルトの名無しさん2019/04/13(土) 15:46:26.77ID:MSTjQ8pp
jniはjavaのプラットフォームにc++での開発成果物を持ち込むためのもので、そうでないならわざわざそんなもの使う意味は薄い

マルチプラットフォームなアプリを作りたいならQtなりwxなりを使った方が速いし楽

210デフォルトの名無しさん2019/04/13(土) 15:47:10.35ID:Uq+8Y9kK
>>208
でもいつ訴えられるかわからないから怖いですう。

211デフォルトの名無しさん2019/04/13(土) 15:58:39.59ID:U0TmzhoK
そもそも、Androidアプリにとってのシステムコール(API)とは、Javaの関数だと
思うので、この構造自体は Android における「最も高速なアプリ」になっている
と思う。

212デフォルトの名無しさん2019/04/13(土) 15:59:50.41ID:U0TmzhoK
>>210
一般アプリ作者は大丈夫だと思うな。一番危ないのは、オイラみたいに、
ToolKit作って儲けようなんて思ってる人なのさ。(^_^;)

213デフォルトの名無しさん2019/04/13(土) 16:11:49.69ID:U0TmzhoK
>>209
それらはサイズが大きい。

214デフォルトの名無しさん2019/04/13(土) 16:14:38.06ID:MSTjQ8pp
糞デカイ上に更新面倒なjavaのruntime入れさせるほうが害悪だろ

flashより糞度が高い

215デフォルトの名無しさん2019/04/13(土) 16:22:55.04ID:U0TmzhoK
AndroidはJREはプリインストール済みなんじゃないの?
オイラは実機持ってないので全く分からないんだな。

216デフォルトの名無しさん2019/04/13(土) 16:32:58.01ID:MSTjQ8pp
androidで実質c++でのアプリ開発する仕組みなら既にある
jniそのまま使うよりは大分マシ

217デフォルトの名無しさん2019/04/13(土) 16:36:12.19ID:jD4Gkzzm
>>216
どうやるの?

218デフォルトの名無しさん2019/04/13(土) 16:39:07.74ID:2fZ9oexv
何でグラフィックをわざわざJavaに?


>>217
QtならほぼC++で書ける

219デフォルトの名無しさん2019/04/13(土) 16:42:39.35ID:U0TmzhoK
Qt は、内部的に Backend で Java を使ってるのかな。

220デフォルトの名無しさん2019/04/13(土) 17:18:44.33ID:ubPOLJQD
なんかJavaを間違って理解してるっぽい。

221デフォルトの名無しさん2019/04/13(土) 17:21:04.26ID:YpOFfnix
>>219
もういい加減スレ違いだから消えてくれ

222デフォルトの名無しさん2019/04/13(土) 19:21:24.16ID:mZFqlfzi
vector に格納されてる値から添え字の番号を取得するための最も手軽な方法はなんでしょうか

イテレータから添え字番号を取得することはできますが、あくまで値からやりたいです

223デフォルトの名無しさん2019/04/13(土) 19:26:24.27ID:ujTcdvrD
格納してる値にインデックスの手がかりがないんだったら
findで探して結果のイテレータから取得するしかないな

224デフォルトの名無しさん2019/04/13(土) 19:26:44.48ID:2fZ9oexv
>>222
findしてdistance

225デフォルトの名無しさん2019/04/13(土) 19:31:01.29ID:mZFqlfzi
>>223-224
ありがとうございます
格納する値の範囲もサイズも小さいvectorなので、今回は辞書を作って対応しようと思います

226デフォルトの名無しさん2019/04/13(土) 19:42:14.61ID:2fZ9oexv
>>225
そんな単純な検索なら3行くらいなんだから作ればいいのに

227デフォルトの名無しさん2019/04/13(土) 20:12:30.52ID:mZFqlfzi
奇遇なことに辞書も三行くらいです

228デフォルトの名無しさん2019/04/14(日) 01:05:39.34ID:dZAE6IVm
そら奇遇ですな。

229 ◆QZaw55cn4c 2019/04/14(日) 06:41:11.16ID:AVvjfIV7
>>200
とても興味を覚えました
私は、そろそろ言語間でライブラリも共用されるべきだと考えています
一つの記述体で各言語共通というのはさすがに難しいにせよ、
Java のライブラリと同等なもの(名前と機能が共通のもの)が C++ にもあってもいいんじゃないか?と数年前から妄想しています…

230デフォルトの名無しさん2019/04/14(日) 07:17:55.90ID:/tPpXRHC
もうJavaのことは忘れて生きろ

231デフォルトの名無しさん2019/04/14(日) 07:42:20.38ID:YohaqxbG
JavaとC++に共通インターフェースを作るのは反対。
車輪の再発明にしかならない。自由を奪うだけの愚策。

232 ◆QZaw55cn4c 2019/04/14(日) 07:51:31.17ID:AVvjfIV7
>>231
強要するのではなく、オプション(選択肢)として提供するのはどうでしょうか?

233デフォルトの名無しさん2019/04/14(日) 08:04:00.89ID:YohaqxbG
>>232
共通ライブラリを使う側にとってはオプションであることは当然。
共通ライブラリを作る側の話をすべき。共通ライブラリの規格決定権者が増えすぎること自体が好ましくない。
これはEU諸国がトルコがEU参加することを拒否する感覚に近い。

234 ◆QZaw55cn4c 2019/04/14(日) 08:50:47.24ID:AVvjfIV7
>>233
私は EU には否定的(グローバリストの巣窟であり、普通選挙/自由選挙による合意形成をスキップするポジションを作って人を操作するからくり、トルコもたぶん目が覚めているのでは?)ですが、それはさておき、
すでにある java/classpath スケルトンを真似してしまおう、という低姿勢・低いプライドを貫くのであれば、規格策定者は基本要らなくなりませんか?だって真似するだけだし…

235デフォルトの名無しさん2019/04/14(日) 08:59:21.33ID:k2b6YaL9
まだC++98しか知らないと、取り残されますか。

236デフォルトの名無しさん2019/04/14(日) 09:09:36.38ID:YohaqxbG
まずは、Javaと瓜二つな C#、.NET、C++/CLIが今どうなっているか考えてみては。

237L2019/04/14(日) 09:28:45.12ID:Y1IcINvd
>>229
ちょっと話しはズレるけど、あなたの賛同で嬉しくなったので、入手した耳寄りな
情報を書いておこうと思う。既に知ってる人も当然いると思うけど、
WebAssemblyで作ったようなWebAppliは、ブラウザのURL欄やタイトルバーなどが
表示されてしまうのが難点として残っていた。ところがなぜかElectronでは消せて
いたのでChromeではなくChromiumを使っているからかと思っていた。
ところが、manifest.json なるものを書いて、HTMLにそのファイルを使うように
書いておいて、display プロパティーを standalone やfullscreen にすると、
URL欄が消せるらしい。

238 ◆QZaw55cn4c 2019/04/14(日) 09:41:42.35ID:AVvjfIV7
>>237
もう時代はすっかり html/css/js ですね…
VSCode も Electron ですし…

239デフォルトの名無しさん2019/04/14(日) 10:28:52.88ID:k2b6YaL9
質問を変えてみよう。
C++11やC++14のコードは、職場で取り入れられてますか。

240デフォルトの名無しさん2019/04/14(日) 11:49:20.77ID:q+cUY/8y
>>239
ガンガン取りいれてるよ。

なにげにでかいのが日本語識別子の保証。適切に使うと可読性が笑っちゃうくらい上がるw
ヘッダーのプロトタイプ宣言とかが特におすすめかな。

あとchar16_t/char32_tも結構ありがたい。WindowsとUNIX系のOS間で同じ文字コードとして共通で使える型が以前はなかったからね。
20でようやく入るみたいだが、なぜchar8_tを入れかったのか(´・ω・`)

std::initializer_listもかなり便利。型安全で個数も分かる上に、引数の一番後ろじゃなくてもいいので、cの...と違って気軽に使える。

あとよく使うのは範囲for文と、イテレータの簡略化かな。いくつかの演算子をオーバーロードすれば良いだけだから、
結構気軽に範囲for文対応のイテレータを書ける。

ラムダ式も関数の引数に直接関数を埋め込んだりできて便利。

241 ◆QZaw55cn4c 2019/04/14(日) 12:36:24.13ID:AVvjfIV7
>>240
>char16_t/char32_tも結構ありがたい

確かに
char16_t と u"" がなければ win32api W 系とか途方に暮れていたとおもいます… http://2chb.net/r/tech/1434079972/53

242はちみつ餃子 ◆8X2XSCHEME 2019/04/14(日) 12:43:45.83ID:+qOUcSLR
ガンガン最新を追うべきとまでは思わないけど、
C++11 は最低限度じゃないかなぁ。

243デフォルトの名無しさん2019/04/14(日) 14:27:39.08ID:6Gooiv09
17便利すぎ
variant,visit,lambda,if constexpr
のコンボで捗る

244デフォルトの名無しさん2019/04/14(日) 14:34:56.13ID:GSX89KOm
つーか今はもうC++11の機能は使わずにC++で書け!といわれても
やりきる自信がなくなった・・

245デフォルトの名無しさん2019/04/14(日) 14:39:38.95ID:krJLkXqZ
古い環境だと最近のサンプルがビルドできなくて困る

246デフォルトの名無しさん2019/04/14(日) 16:02:33.26ID:YQLb8Tsj
c++11とか名乗るから誤解されるんだよ。
c++++とかのがイメージ的に正しい。

247デフォルトの名無しさん2019/04/14(日) 16:06:36.29ID:dZAE6IVm
C#ってことか。

248デフォルトの名無しさん2019/04/14(日) 16:12:40.18ID:YQJCzKEv
repeat文って入らないの?

249はちみつ餃子 ◆8X2XSCHEME 2019/04/14(日) 16:16:59.50ID:+qOUcSLR
>>248
どんな機能?

250デフォルトの名無しさん2019/04/14(日) 16:20:53.89ID:YQJCzKEv
>>249
repeat(int i; n) で for(int i; i<n; i++) と同じ意味な機能

251デフォルトの名無しさん2019/04/14(日) 16:22:55.01ID:6Gooiv09
>>250
そんなどうでも良いもののために予約語追加する意味って
その文法じゃ初期値すら変えられない

252デフォルトの名無しさん2019/04/14(日) 16:24:45.44ID:6Gooiv09
初期値はi=0とかすればいいのか
でもそうなるとi=1にした場合何回ループするのか混乱しそう

253デフォルトの名無しさん2019/04/14(日) 16:32:41.09ID:IovzG98E
>>229
QtとかGtk、wxとか色々有るじゃん。。。
入れるの面倒くさいなら、Power Builder(だっけ?)とかの有料開発環境はVSを除いてマルチプラットフォームなライブラリが売りだぞ。

254 ◆QZaw55cn4c 2019/04/14(日) 16:36:01.32ID:AVvjfIV7
>>253
Java の人も C# の人も c++ の人も python も ruby も一緒の名前で一緒の機能が使えたら,コストの中でも一番高くつく勉強コストを減らせるのではないでしょうか

255デフォルトの名無しさん2019/04/14(日) 16:44:39.61ID:YQJCzKEv
>>251
Linuxのカーネルにrepeatマクロ大量にあるもん

256はちみつ餃子 ◆8X2XSCHEME 2019/04/14(日) 16:52:53.22ID:+qOUcSLR
>>255
ならマクロでいいじゃねぇか。

257デフォルトの名無しさん2019/04/14(日) 16:53:20.02ID:6Gooiv09
こんなので十分だろ
https://ideone.com/I6e8NZ

258デフォルトの名無しさん2019/04/14(日) 16:59:12.33ID:6Gooiv09
>>254
wxでもQtでもメジャー言語のbinding位あるだろ

259デフォルトの名無しさん2019/04/14(日) 17:09:53.36ID:IovzG98E
>>254
うん。
それはまさにそうで、だからQt,Gtk,wxあたりのメジャー所は色んな言語にラッパーがある。

260デフォルトの名無しさん2019/04/14(日) 17:10:32.89ID:h7KNzBMl
webプログラマーなんですが、右辺値、fowardっていつ使うのか気になります
というかなんでそこまで、厳密に分ける必要があるのか 
業務で使ってる方、使用例を教えてください

261デフォルトの名無しさん2019/04/14(日) 17:20:10.51ID:sCsh6GnA
右辺値というかムーブ関数の定義といらなくなるオブジェクトにstd::move付けとくのは絶対損にはならないからとりあえずやっとく
forwardはテンプレートライブラリ作るなら必須だけど自分では使ったことないなあ

262さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/04/14(日) 17:25:45.47ID:86P3zzV7
コピーにコストがかかる場合は、std::swapやstd::moveのが早い場合があるからね。ムーヴはコピーじゃなくて引っ越しだから。

263デフォルトの名無しさん2019/04/14(日) 17:27:07.70ID:YQLb8Tsj
まあ理論上はね。。そういう実装になってるかどうかはコード見ないとわからんけどね。

264デフォルトの名無しさん2019/04/14(日) 17:29:38.84ID:6Gooiv09
基本的には高速化が目的でmove使わなくてもなんとかなるが、
所有権絡むとmoveは必須になる

forwardはtemplateで引数渡すときにmoveやら参照やらの完全転送する場合必須

265さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/04/14(日) 18:16:04.21ID:86P3zzV7
ちょっと実際にやってみようか。コピーコンストラクタで十秒待つコードを書く。ムーヴコンストラクタとムーヴ代入でなにもしない。
この状態でstd::moveを使わないで代入すると十秒かかる。

266さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/04/14(日) 18:17:20.92ID:86P3zzV7
訂正。「コピー代入で十秒待つコードを追加」

267デフォルトの名無しさん2019/04/14(日) 18:47:05.84ID:xCvd3oj/
>>264
>所有権絡むとmoveは必須
必須とまでは言えない
 T::T(const T& obj)
という通常のコピコンを定義して、コピコンの中でconst剥がししたら
とりあえず所有権の移動もmove無しで逝ける

268はちみつ餃子 ◆8X2XSCHEME 2019/04/14(日) 18:50:44.06ID:+qOUcSLR
>>260
高速化のために出来るのは、アルゴリズムのレベルでの工夫を別にすれば、出来ることはショートカットだ。
高速化とは近道なんだよ。

場合分けが出来るなら、どうしてもやらなければならないこと、やらなくてもいいことを「区別」できる。
区別できるなら、やらなくてもいいことは省略できる。

言語での区別が無くても、たとえば C でも区別を陽に書けばムーブみたいなことだって、そりゃあ出来るけども、
そんなクソ面倒くさいことはしたくないので言語でのサポートがあるとありがたい。

まあ速度的にそこまで必要ないってのなら、区別を積極的に利用しなくてもかまわないよ。
でも、必要なときに出来る方法が用意されているとうれしいし、
C++ を使うときというのはそれなりに実行速度が必要なときだろうし。

269デフォルトの名無しさん2019/04/14(日) 18:52:09.33ID:xCvd3oj/
とわいえmoveコンストラクタの方が意図が明確なコードが書けるから良い。
moveコンストラクタがふさわしい例っていやーつぎごケース。
class BarWithBigData {
  Foo* m_pBigData;
  BarWithBigData() : m_pBigData(new Foo[1000000000000] { }
  ~BarWithBigData() { delete[] m_pBigData; }
  BarWithBigData(BarWithBigData&& rhs) { m_pBigData = rhs.m_pBigData; rhs.m_pBigData = NULL; }
  Foo* refBigData() { return m_pBigData; }
};

ちなstd::arrayは使った無いから知らん

270デフォルトの名無しさん2019/04/14(日) 18:53:54.12ID:xCvd3oj/
訂正orz、

誤:
  Foo* m_pBigData;
  BarWithBigData() : m_pBigData(new Foo[1000000000000] { }

正:
  Foo* m_pBigData;
public:
  BarWithBigData() : m_pBigData(new Foo[1000000000000]) { }

271デフォルトの名無しさん2019/04/14(日) 18:54:00.95ID:mEGAHR/Y
コピコンの中でconst剥がしってちょっと何言ってるか分からない

272さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/04/14(日) 18:55:03.68ID:86P3zzV7
十秒待つ待つコードはWindowsなら#include <windows.h>してSleep(10*1000);であり、
Linuxなら#include <unistd.h>してsleep(10);だ。
C++11ならstd::chronoに待つ関数があったはず。

273さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/04/14(日) 18:57:07.74ID:86P3zzV7
const_castだろ。jk

274デフォルトの名無しさん2019/04/14(日) 18:57:37.12ID:xbTIwD1q
>>271 「move無しで(未定義動作に)逝ける」ってことでしょ。

275デフォルトの名無しさん2019/04/14(日) 18:57:39.39ID:xCvd3oj/
>>271
こうじゃわ;
BarWithBigData::BarWithBigData(const BarWithBigData& rhs) { m_pBigData = rhs.m_pBigData; const_cast<BarWithBigData&>(rhs).m_pBigData = NULL; }

>>269もmoveコンストラの変わりに↑のように書いても逝ける

276デフォルトの名無しさん2019/04/14(日) 19:10:15.32ID:sCsh6GnA
まあ実際にはそんなムーブをゴリゴリ書くことはなくて
m_pBigDataをunique_ptr<array<Foo, 1000000000000>>にしてムーブctor、ムーブop=、デストラクタを=defaultにするけどな

277デフォルトの名無しさん2019/04/14(日) 19:21:51.01ID:kBfBajGR
auto_ptrよりヤバイ奴
const_castでconst外した後実際に書き換えてしまうとかw

278デフォルトの名無しさん2019/04/14(日) 19:38:34.53ID:xCvd3oj/
>>277
ちなconst T&で渡されたブツを関数内でconst_castして書き換えることはそれ自体は合法
ROM上のオブジェクトを渡して死ぬことは有り得るがしたら呼び出し側の違反
また最適化にしくるとしたらそれはコンパイラーのバグ

279デフォルトの名無しさん2019/04/14(日) 19:46:40.04ID:xbTIwD1q
>>278
ROM上になくても const T 型で構築されたオブジェクトを書き換えたら未定義動作になるから、
値が変わらない前提の最適化は許されてるよ。

const 無しで構築されたオブジェクトを指す const& の話と混同してそうだね。

280デフォルトの名無しさん2019/04/14(日) 19:53:21.04ID:uvZ0DMTi
質問: c🐴++のrust相対の優位性はなんですか?

281はちみつ餃子 ◆8X2XSCHEME 2019/04/14(日) 19:57:27.42ID:+qOUcSLR
>>280
正しくないコードをコンパイル出来る。
C++ はプログラマを信頼するのだ。

282デフォルトの名無しさん2019/04/14(日) 19:57:44.28ID:6Gooiv09
>>278
未定義じゃないか
c++03 5.2.11の7にはこんなことが書いてある
[Note: Depending on the type of the object, a write operation through the pointer, lvalue or pointer to data
member resulting from a const_cast that casts away a const-qualifier68) may produce undefined behav-
ior (7.1.5.1). ]

283デフォルトの名無しさん2019/04/14(日) 20:14:45.20ID:xCvd3oj/
>>282
Depending on the type of the objectにおいてmay produce undefined behaviorである
すわなちオブジェクトの型によっては未定義動作に成りえる、
と言っているだけなのでconst T&渡しされたパラメータの書き換えがNGの祥子にはなんね

>>279
>const T 型で構築されたオブジェクトを書き換えたら未定義動作になる
それはそう。しかしconst T&渡しされた関数内でコンパイラはそれを判断できないから
そういった関数内で、参照型かポインタ型引数で関数に渡されたlvalueのconst_castした結果はあくまでlvalue扱い
のはず…

284デフォルトの名無しさん2019/04/14(日) 20:25:38.94ID:xbTIwD1q
>>283
関数内では const& であることを根拠に最適化に使えないのは合ってる。
でもだからといって const& で受け取ったものを書き換えてもよいとは言えない。

void f1(int const&);
int f2()
{
int const x = 1;
f1(x);
return x;
}

x は int const なので、 f2() の return x は f1() が const_cast して x を
書き換える可能性を無視して return 1 に最適化できる、という話。

BarWithBigData const x; が >>275 のコピーコンストラクタに渡された後も
const_cast<BarWithBigData&>(rhs).m_pBigData = NULL; を無視して書き換え前の
m_pBigData が使われる可能性がある。

285デフォルトの名無しさん2019/04/14(日) 20:33:37.36ID:mEGAHR/Y
規格が云々言わなくても、9割のプログラマの意図に反してるで終わる話
頼むからそんなコードは頭の中にしまっといてほしい

286デフォルトの名無しさん2019/04/14(日) 20:37:26.81ID:6Gooiv09
つまりはそれ自体は問題ないが、constとして生成したオブジェクトを渡した瞬間にダメになると言うことか
で、渡すこと自体は制限できないから
プログラム中に罠を仕掛ける事が出来るわけだ。

287デフォルトの名無しさん2019/04/14(日) 20:39:28.07ID:6Gooiv09
てか、mutable付けとけば問題なくなるな。

288デフォルトの名無しさん2019/04/14(日) 20:40:25.78ID:6Gooiv09
const_castも要らないし良いことずくめじゃないかw

289デフォルトの名無しさん2019/04/14(日) 20:45:26.81ID:xCvd3oj/
>>285
わかりたそうする。>>275のケースは素直にムーブコンストラクタを使えば良い。または↓でもだいたいおk
BarWithBigData::BarWithBigData(BarWithBigData& rhs) { m_pBigData = rhs.m_pBigData; rhs.m_pBigData = NULL; }

だいたいというのはムーブコンストラクタ有りの規格のC++コンパイラで↑の非constなコピコンだけ書く警告が出ることがあるからイヤン、

>>286
>つまりはそれ自体は問題ないが
いや問題がある可能性が潰せていない。
void f1(int const&);
int f2()
{
int x = 1;
f1(x);
return x;
}
(xがconst無し)の場合であってもf1(x)がxを書き換えない前提の最適化がf2()にかかったりすると、
f1(x)内で変更したxの値がreturnされるxの値に反映されない可能性がある(f1(x)の呼び出し前後でxがレジスタに乗ったままであるとか、

290デフォルトの名無しさん2019/04/14(日) 21:11:05.08ID:xbTIwD1q
>>289
その x の型は const じゃないから return x は最適化できないよ。

291デフォルトの名無しさん2019/04/14(日) 21:48:29.79ID:uvZ0DMTi
>>281
わからないです。それはメリット?

292デフォルトの名無しさん2019/04/15(月) 01:36:50.54ID:20PlYkfs
ラムダに11個の引数を参照で渡すのと、キャプチャするの、どっちが速いかな?

293デフォルトの名無しさん2019/04/15(月) 02:40:05.27ID:e1RUhzz1
測ればいいだろ

294はちみつ餃子 ◆8X2XSCHEME 2019/04/15(月) 02:50:17.52ID:94OTneyx
>>291
メリットのときもデメリットのときもあるだろう。

295デフォルトの名無しさん2019/04/15(月) 02:59:24.82ID:XbOtvNIU
参照渡しな時点でその場で呼び出すのだろ。
最適化かければ結局同じようなアセンブリになるよ。

296デフォルトの名無しさん2019/04/15(月) 09:13:13.35ID:+swIGlrx
それはわからんだろ
ブロック待ちするかもしれないわけで

297デフォルトの名無しさん2019/04/15(月) 19:29:41.18ID:8vw8m6ly
引数で渡すとスタックに積まれる可能性があるけど、キャプチャするとそうならないのでは。

298デフォルトの名無しさん2019/04/15(月) 19:36:28.26ID:XbOtvNIU
いや、形式上は無名クラスにキャプチャを変数としてぶちこんだもののインスタンス作ってメンバ関数のoperator()呼ぶのだから、スタックは使うだろ。

299デフォルトの名無しさん2019/04/15(月) 20:08:47.93ID:Auf6nZgf
C言語じゃダメなんですか!

300デフォルトの名無しさん2019/04/15(月) 20:20:07.70ID:NSErsM12
いいよ

301デフォルトの名無しさん2019/04/15(月) 20:25:01.30ID:IXPbMXJW
無駄に複雑にしとるな。

302デフォルトの名無しさん2019/04/16(火) 01:01:07.13ID:ZVmLHBMP
>>298
じゃあ、引数で渡すとスタックに積まれない可能性があるので、速い場合もあるのでは?

303デフォルトの名無しさん2019/04/16(火) 02:15:09.28ID:WfxisTJA
海外だと、Javaに負けて、Rustに圧倒的実力で追いやられるC++

304デフォルトの名無しさん2019/04/16(火) 02:27:07.22ID:WfxisTJA

305デフォルトの名無しさん2019/04/16(火) 15:01:04.19ID:RMLQoksE
本当に、コンパイル時に何かしたいならRustだけどね

306デフォルトの名無しさん2019/04/16(火) 18:28:44.44ID:ZVmLHBMP
>>304
Java圧倒的な強さだな。

307デフォルトの名無しさん2019/04/16(火) 18:30:10.89ID:ZVmLHBMP
全部足すと500%位になりそうだから、複数の言語を使う人が多いんだろね。

308デフォルトの名無しさん2019/04/16(火) 21:18:54.40ID:dFuxCqAG
江添が転職できずに困っとるw
まあこいつがクソなだけでc++の問題ってわけじゃないんだがイメージは悪いわな。

309デフォルトの名無しさん2019/04/16(火) 21:36:49.03ID:jMhdT2ep
こうしてみるとホッシーの全タクシー移動ってのは理に適ってるな
バカな公害に捕まる心配が減る

310デフォルトの名無しさん2019/04/16(火) 23:25:27.27ID:LsPOsuul
なんか私怨でもあるんかいな

311デフォルトの名無しさん2019/04/16(火) 23:41:35.10ID:InK+cNH/
喫煙者が目に入った途端癇癪起こして殴り掛りかかる狂犬なんだっけ?

312デフォルトの名無しさん2019/04/17(水) 00:03:12.24ID:vVzTJh6n
知らね
よく人を招いているようだし揉めたことがある人も少なくはないんじゃいか

313はちみつ餃子 ◆8X2XSCHEME 2019/04/17(水) 01:12:11.58ID:UWuCQ9XR
>>310-311
当事者の様々な主張の食い違いがあるので、結論としては「わからない」。
少なくとも彼自信の主張としては掴みかかってきたのを払いのけた結果として眼鏡が割れたということになっている。
(江添が殴りかかったわけではなく、むしろ防衛した側、と江添は主張している。)

江添が煙草について過激な意見を持っているのは確かだが、
シェアハウス内で禁煙場所であると合意がなされている場所で煙草を吸った客人がいたというところは当事者全体が認めているようだ。

314デフォルトの名無しさん2019/04/17(水) 08:21:52.75ID:DaACwh1w
恨みというかまともにコード書かない奴がクソ意見で現場荒らすって事自体がクソだと思うわけで、
まあその反動で現場で働くことができないって事になればザマァって思う。

315デフォルトの名無しさん2019/04/17(水) 09:46:31.27ID:vVzTJh6n
現場を荒らしてる?

316デフォルトの名無しさん2019/04/17(水) 09:53:30.15ID:vVzTJh6n
どのプロジェクトにも参加してないと認識してたけど乗り込んでケチつけてたりするのかな
まあ俺ドワンゴとは縁が無いからどこで何してようが関係ないけど

317デフォルトの名無しさん2019/04/17(水) 17:08:02.09ID:I32j715f
C++がPython抜いて3位 - 4月TIOBE言語ランキング 2019/04/17 10:55 後藤大地
https://news.mynavi.jp/article/20190417-810363/

TIOBE Softwareから、2019年4月のTIOBE Programming Community Index (PCI)が公開された。
TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語が
どれだけ話題になっているかをインデックス化したもの。

4月TIOBE Programming Community Index / 円グラフ
C++相談室 part142 	->画像>13枚

2019年4月はC++がPythonを抜いて3位に返り咲いた。ただし、Pythonのシェアが下落したの
ではなく、Pythonの増加傾向をC++の増加が上回ったことによる結果と思われる。C++は
長期にわたって下落傾向が続いていいたものの、2019年に入ってから増加傾向へ転じている。
Pythonも増加傾向が続いており、どちらも今後さらにインデックス値を増やす可能性がある。

長期にわたって1位を確保しているJavaは依然として1位のポジションにあるが、下落の
傾向が続いている。2位のC言語も長期で見ると下落を続けており、C++やPythonの存在感が
強くなってきている。

318デフォルトの名無しさん2019/04/17(水) 17:11:50.34ID:hoIwj+sG
>>317
何回だからみんな何回もググってるんだよ

319デフォルトの名無しさん2019/04/17(水) 18:34:58.84ID:LllPIzo0
俺が検索しまくったからだろうな。

320デフォルトの名無しさん2019/04/17(水) 19:59:29.56ID:fJF68+PR
今もしインターネットが完全にシャットダウンされると
プログラム書けなくなるプログラマけっこう数いるだろうな

321はちみつ餃子 ◆8X2XSCHEME 2019/04/17(水) 20:18:46.81ID:UWuCQ9XR
>>320
cpprefjp はとりあえず手元にダウンロードしてあるけど。

322デフォルトの名無しさん2019/04/17(水) 20:35:09.94ID:P5fp2rRi
どうやってダウンロードしたの?
巡集じゃできなかった…

323デフォルトの名無しさん2019/04/17(水) 20:39:18.77ID:WWgiT6Ow
githubじゃない?

324デフォルトの名無しさん2019/04/17(水) 21:27:54.32ID:P5fp2rRi
そうなんだ、ありがとう

325デフォルトの名無しさん2019/04/19(金) 02:16:29.43ID:/DYxLH/O
どういたしまして。

326デフォルトの名無しさん2019/04/19(金) 08:26:54.03ID:gmGy9oTC
江添は職質裁判でも、不当判決が出たので控訴するみたい

警官は、複数人で口裏合わせするから、民間人は勝てない

漏れもやられたけど、酒酔い運転でも、漏れが機械に息を吹き掛けても、ランプが点かない。
そこで、警官がクルッと後ろを向くと、ランプが点く

そっと見たら、酔っ払い警官が、自分で息を吹きかけて、ランプを点ける

こういう裁判で争っている人もいるけど、
警官は複数人で口裏合わせするから、絶対に勝てない!

警官は皆、このやり方で出世しとる

327デフォルトの名無しさん2019/04/19(金) 08:33:03.47ID:PWe5dNBv
ありゃ普通に対応してりゃ済む話だと思うがね。

やってることは完全に当たり屋だろ。

328デフォルトの名無しさん2019/04/19(金) 09:27:15.01ID:biH+fvR8
>>326
Rubyバカの人か。相変わらず思い込みが激しく、言っていることが滅茶苦茶だな。

329デフォルトの名無しさん2019/04/19(金) 12:05:02.85ID:rPSCrubJ
どんだけ江添好きなの?w

330デフォルトの名無しさん2019/04/19(金) 13:28:48.91ID:W5tFDDw/
日本でC++真剣にやってるのって彼だけだし

331はちみつ餃子 ◆8X2XSCHEME 2019/04/19(金) 13:41:25.74ID:mypEidUJ
だけ、というのは言い過ぎだと思うが、
日本語で最新の C++ の事情を本にしているのは江添くらいしかいないからなぁ。

江添本人は自分のことを実務家ではなく教育者だと考えているようだし、
(肩書は何なんだろ? エヴァンジェリストのようにも見えるが……)
今のポストは妥当なとこだろ。
そのままやってくれればありがたいもんだ。

332デフォルトの名無しさん2019/04/19(金) 13:41:50.58ID:i8rhoxHy
つまり他の日本人は竹刀とか木刀ってことか。

333デフォルトの名無しさん2019/04/19(金) 13:50:35.12ID:rPSCrubJ
江添個人の裁判は完全にスレチなんだよなあ
仮に違法な取り締まりだと判断されても警察のやり方が改まるわけもないだろうし

334デフォルトの名無しさん2019/04/19(金) 14:15:26.68ID:JVA9qfGz
江添すなわちC++なのだから
江添の話題は全てC++の話題だょ

335デフォルトの名無しさん2019/04/19(金) 15:08:33.32ID:j263LUSd
宗教の話はよそでやってくれないか

336デフォルトの名無しさん2019/04/19(金) 15:16:01.57ID:JwgM4FAg
もう少しc++の話をしてくれと思う事もある

337デフォルトの名無しさん2019/04/19(金) 18:50:10.05ID:/DYxLH/O
はちみつさんも真剣にやってると思います。

338デフォルトの名無しさん2019/04/19(金) 19:16:13.92ID:yj9Iz3m1
こんな事言うと勘違いされそうだが、はちみつ餃子はちゃんとしてると思うよ
C++に関しておかしなことは言っていない
ていうか、はちみつ餃子ってものすごい不味そうなんだがそんなの本当にあるのだろうか・・?

339デフォルトの名無しさん2019/04/19(金) 19:17:39.46ID:j263LUSd
肉料理にはちみつを入れること自体はわりと普通
量の問題

340デフォルトの名無しさん2019/04/19(金) 19:28:19.17ID:PWe5dNBv
いや明らかに開発してねーだろって感覚じゃねーか。
まあここならそれでもいいんだろうけれど。

341はちみつ餃子 ◆8X2XSCHEME 2019/04/19(金) 19:51:37.44ID:mypEidUJ
>>338
ググればわかるけどはちみつ餃子はそこそこありふれた料理だよ。

その昔、 higepon が自分でもどうして higepon などと名乗ったかわからない
と述べていたので、そのくらい意味不明感じにしようと思って適当に
思いついた語をコテハンにした。
Scheme スレが本来の住処なので当初は SCHEME餃子 と名乗っていたけど、
他のスレにも顔を出すようになったのでなんとなくはちみつ餃子になった。
およそ意味不明な組合せにしたつもりだったんだけど、
実際にある料理だとは後になってから知った。

342デフォルトの名無しさん2019/04/19(金) 21:11:54.81ID:fEN/Hp+M
initializer_listを引数に取るオブジェクトを引数に取る関数で
下記のケースでUniversal Initializationが効かないのですが
何かいい手はないでしょうか

using KVPCollectionType = std::map<std::string, std::string>;
void f(const KVPCollectionType&& kvps = {});

f(); // OK
f({}); // OK
f(KVPCollectionType{{"key1", "value1"},{"key2","value2"}}); // OK

f({{"key1", "value1"},{"key2","value2"}}); // NG これをやりたい!!

343デフォルトの名無しさん2019/04/19(金) 21:13:17.21ID:UQpKfTQY
エピ…いや何でもない

344デフォルトの名無しさん2019/04/19(金) 21:17:05.52ID:fEN/Hp+M
すみません、訂正です
× void f(const KVPCollectionType&& kvps = {});
○ void f(const KVPCollectionType& kvps = {});

345デフォルトの名無しさん2019/04/19(金) 21:22:53.30ID:/DYxLH/O
アークエンジェルに搭載されてるstd::variant<>。

346デフォルトの名無しさん2019/04/19(金) 22:49:42.25ID:DWxUZ3pl
wandboxで試したらclangでもgccでもc++11 -pedanticで通ったけど?

347デフォルトの名無しさん2019/04/20(土) 00:01:37.25ID:a7z6m7l4
ごめんなさい、ごめんなさい。本当にごめんなさい。
勝手に脳内で要約したのが間違えまくってました

正確には以下の通りです。
#include <map>
#include <memory>
using KVPCollectionType = std::map<std::string, std::string>;
class c {
public:
c(const KVPCollectionType&& kvps = {}){}
};
int main()
{
auto ok = std::make_shared<c>(KVPCollectionType{{"key1", "value1"},{"key2","value2"}}); // OK
auto ng = std::make_shared<c>({{"key1", "value1"},{"key2","value2"}}); // NG!!!
}

348デフォルトの名無しさん2019/04/20(土) 10:47:21.77ID:5oa1AZjP
全てのバグを絶滅せよ。
「今日は死に日和」好評発売中。

349デフォルトの名無しさん2019/04/20(土) 11:08:43.59ID:3kBWifqd
C++11や14を使ってる人、コンパイラは何ですか。

350デフォルトの名無しさん2019/04/20(土) 11:25:30.96ID:m+a2EYsq
ゲームエンジン作ってる人いますか

351デフォルトの名無しさん2019/04/20(土) 11:30:38.02ID:5oa1AZjP
clとgcc。

352デフォルトの名無しさん2019/04/20(土) 13:20:15.93ID:lwVpLCzw
c+11以降はバージョン違うと全く別のコンパイラ

353デフォルトの名無しさん2019/04/20(土) 13:23:19.12ID:8Vh3F1FF
Twitchでプログラミングしてるやつの中でゲームエンジンも居たような

354はちみつ餃子 ◆8X2XSCHEME 2019/04/20(土) 13:30:02.11ID:7hm/FBJ7
>>347
テンプレートの推論ルールとして「関数テンプレートのパラメータとして波カッコの初期化子リストを渡して型推論させることはできない。」
ということになっている。 ( https://cpprefjp.github.io/lang/cpp11/uniform_initialization.html )
make_shared の実際の型は template <class T, class... Args> shared_ptr<T> make_shared(Args&&... args); なので、
このとき Args が推論できない以上はどうにもならん。
型を固定した専用の関数をはさんでこんな感じにするくらいのことしか思いつかないな。

#include <map>
#include <memory>
#include <initializer_list>
#include <utility>

using KVPCollectionType = std::map<std::string, std::string>;
class c {
public:
c(const KVPCollectionType&& kvps = {}){}
c(const std::initializer_list<typename KVPCollectionType::value_type>){}
};

std::shared_ptr<c> make_c_shared(std::initializer_list<typename KVPCollectionType::value_type> a) {
return std::make_shared<c>(std::move(a));
}

std::shared_ptr<c> make_c_shared(KVPCollectionType&& a) {
return std::make_shared<c>(std::move(a));
}

int main() {
auto ok = make_c_shared(KVPCollectionType{{"key1", "value1"},{"key2","value2"}});
auto ng = make_c_shared({{"key1", "value1"},{"key2","value2"}});
}

355はちみつ餃子 ◆8X2XSCHEME 2019/04/20(土) 13:32:51.70ID:7hm/FBJ7
>>347 >>354
呼出す側で

auto ng = std::make_shared<c, std::initializer_list<typename KVPCollectionType::value_type>>({{"key1", "value1"},{"key2","value2"}});

というように型を明記してもかまわないけど、使う側でいちいちこんなこと書きたいわけじゃないだろ?

356はちみつ餃子 ◆8X2XSCHEME 2019/04/20(土) 13:35:42.76ID:7hm/FBJ7
>>347
ちゃんと考えたら >>354 はいらんことしとるな……
これで充分か

#include <map>
#include <memory>
#include <utility>

using KVPCollectionType = std::map<std::string, std::string>;
class c {
public:
c(const KVPCollectionType&& kvps = {}){}
};

std::shared_ptr<c> make_c_shared(KVPCollectionType&& a) {
return std::make_shared<c>(std::move(a));
}

int main() {
auto ok = make_c_shared(KVPCollectionType{{"key1", "value1"},{"key2","value2"}});
auto ng = make_c_shared({{"key1", "value1"},{"key2","value2"}});
}

357デフォルトの名無しさん2019/04/21(日) 08:19:35.76ID:jJhiZdMc
>>354-356
ありがとうございます、その手を使わせていただきます
状況によって推定ルールが変わるのはやめて欲しいなってちょっと思ったんですけど。

358デフォルトの名無しさん2019/04/22(月) 23:55:58.01ID:uyfay/gq
メンバアクセスにthis->つける?

359デフォルトの名無しさん2019/04/23(火) 00:01:58.24ID:cW1os5L0
エディタの補完機能使いたいときにたまにそうやって補完して最後に消す。
が、たまに忘れる。

360デフォルトの名無しさん2019/04/23(火) 00:02:35.52ID:BSgCsXpz
IDEの都合で付ける事が良くある
付けないと補完候補多すぎて

361デフォルトの名無しさん2019/04/23(火) 00:09:08.10ID:JKfCESEZ
ああなるほど
補完候補を絞るのには便利ですね

362デフォルトの名無しさん2019/04/23(火) 18:16:01.64ID:Wx+D+gzo
メンバであるという保証ができるので付ける

363デフォルトの名無しさん2019/04/23(火) 19:39:28.32ID:cE0Yu4R7
メンバ名は頭にm_付けろみたいなクソルールよりずっといいと思うので付けるべき

364デフォルトの名無しさん2019/04/23(火) 19:42:38.83ID:JKfCESEZ
仮引数と別の名前つけるのだるいからm_は別に良いと思う

365デフォルトの名無しさん2019/04/23(火) 20:02:01.86ID:8XemHsTC
メンバ変数に専用の色付けたらいいじゃん

366デフォルトの名無しさん2019/04/23(火) 20:13:43.06ID:sktjqElV
引数そのままメンバに入れるなら引数に_つけてvar(_var)って初期化してるわ

367 ◆QZaw55cn4c 2019/04/23(火) 20:16:13.74ID:JSYnwir1
>>366
それって var(var) でも問題ないんですよ…

368さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/04/23(火) 21:18:06.78ID:DAl4rXky
バーバー

369デフォルトの名無しさん2019/04/23(火) 21:32:08.36ID:BSgCsXpz
>>367
綴り間違えたら悲惨なことになった

370デフォルトの名無しさん2019/04/23(火) 21:34:08.78ID:3k1+3l7a
ハンガリアン記法は、入力補完のないエディタ上での可読性を高めるのに役立ってるでしょ。今でも。

371デフォルトの名無しさん2019/04/23(火) 21:35:06.30ID:8XemHsTC
ゴミ使ってる奴のことなんか知らん

372デフォルトの名無しさん2019/04/23(火) 21:36:10.37ID:BSgCsXpz
あれ可読性落ちるだろ

373デフォルトの名無しさん2019/04/23(火) 21:39:11.30ID:lLaZpSEH
定期的にunsignedとsigned混在させてハマるアホをみるとハンガリアン必要だと思うわ

374デフォルトの名無しさん2019/04/23(火) 21:40:37.34ID:lAbUfbw7
C#で入力補完のないエディタがどうとかさすがにナンセンスでは
だってvisual studio使うじゃん

375デフォルトの名無しさん2019/04/23(火) 21:41:16.53ID:ZkNEZW45
どっちでもいいわ。
大抵の場合そんなとこに気を使わんといかんコードになってることのが問題。

376デフォルトの名無しさん2019/04/23(火) 21:45:47.89ID:lLaZpSEH
>>375
こういうやつがそのうちハマって丸1日つぶしたりするんだよなw

377デフォルトの名無しさん2019/04/23(火) 21:51:11.17ID:8XemHsTC
>>373
関係なくて草

378デフォルトの名無しさん2019/04/23(火) 21:55:03.06ID:lLaZpSEH
関係あることわかってなくて草

379デフォルトの名無しさん2019/04/23(火) 21:55:54.04ID:8XemHsTC
黙ってろゴミw

380デフォルトの名無しさん2019/04/23(火) 21:59:25.62ID:ZkNEZW45
>>376
だから人を嵌めるようなコード書くなつってんだよばか。

381デフォルトの名無しさん2019/04/23(火) 22:06:36.15ID:lLaZpSEH
>>380
コードの問題じゃなくて言語仕様の問題だから
こういうえらそうなくせに何もわかってないカスが一番始末に困る

382デフォルトの名無しさん2019/04/23(火) 22:53:19.60ID:ZkNEZW45
いつの間にかハンガリアンが言語仕様になってた。。

383デフォルトの名無しさん2019/04/23(火) 23:10:13.77ID:lLaZpSEH
ハンガリアンも防御的なプログラミングと考えたら悪くないよ
成り立ち調べてみな
でも基本型とポインタだけだな
クラスには無用だと思う

384デフォルトの名無しさん2019/04/23(火) 23:27:23.37ID:8XemHsTC
てめーらはまともなIDEかエディタ使ってねえのかよ

385デフォルトの名無しさん2019/04/23(火) 23:37:57.35ID:JKfCESEZ
むしろVSがないと何も書けない

386デフォルトの名無しさん2019/04/23(火) 23:55:15.96ID:UPBQPhwq
VSがあっても何も書けない。

387デフォルトの名無しさん2019/04/23(火) 23:55:30.60ID:ZkNEZW45
c++みたいに型情報ありがデフォルトの言語でハンガリアンとか二重メンテもいいとこだわ。

388デフォルトの名無しさん2019/04/24(水) 01:00:02.97ID:pnt3hUol
前方宣言したクラスをTにしたスマポメンバでコンパイル通るときと通らないときがあって調べてたら
デストラクタがインライン(暗黙)だと駄目だとわかった
しかもこの問題が起こるのはunique_ptrのときだけでshared_ptrはデストラクタの定義に関係なく通る
わけわからんぞ
教科書に書いておいてくれ

class ClassB;
class ClassA{
public:
ClassA();
private:
std::unique_ptr<ClassB> u; // NG
std::shared_ptr<ClassB> s; // OK
}

---

class ClassB;
class ClassA{
public:
ClassA();
~ClassA(); ←これでunique_ptrもOK
private:
std::unique_ptr<ClassB> u; // OK
std::shared_ptr<ClassB> s; // OK
}

389デフォルトの名無しさん2019/04/24(水) 07:38:59.52ID:IdP8M60W
>>388
unique_ptr<T>のデストラクタはインスタンス化するときにTが完全型であることを要求する(デストラクタで直接Tのデストラクタを呼ぶ)
unique_ptrを内包するクラスのデストラクタが暗黙だとクラス内でコンパイラによって実装されるけど、その場でunique_ptrのデストラクタを要求する
しかし、その翻訳単位内でTの定義が無ければコンパイルエラーとなる

unique_ptr<T>を内包するクラスのデストラクタがとりあえず宣言だけでもあると
実際の定義がある場所で同様の事が起こるので、その場所でTの定義が見つかればいい
その場合に定義を書かないと、コンパイラさんが適切な翻訳単位内に定義をおいてくれるみたい

shared_ptrは動的削除子のおかげでデストラクタが呼ばれるところで適切にデリータを定義し、デストラクタを呼ぶようになっているのでこの様な問題は起こらない
shared_ptr<T>のデストラクタ内ではTのデストラクタを直接呼び出すようなコードが無い

390デフォルトの名無しさん2019/04/24(水) 18:54:26.06ID:pnt3hUol
>>389
解説ありがとう

391デフォルトの名無しさん2019/04/26(金) 01:05:34.79ID:UW94aXeh
うーんC++プライマー8500円かぁ。本家のプログラミング言語C++第4版はもっとするし
情報量からすると安いが本一冊にポンと出すにはお高い……日本語である程度網羅的な本となるとこの2冊くらいよね

392デフォルトの名無しさん2019/04/26(金) 19:40:01.51ID:aJMYFNVy
set<double> って int のときと同様にちゃんとソートされるんですか?

393デフォルトの名無しさん2019/04/26(金) 20:34:04.97ID:Fns+A8Ou
NaNが無ければ大丈夫NaNじゃね

394デフォルトの名無しさん2019/04/26(金) 20:34:22.70ID:Fns+A8Ou
NaNが無ければ大丈夫NaNじゃね

395デフォルトの名無しさん2019/04/26(金) 22:17:06.30ID:PbDaLlJb
のちに永久保存される平成最後のスベり

396デフォルトの名無しさん2019/04/26(金) 23:59:20.16ID:LBUDtqYL
たしかにそうだな・・いよいよ平成最後なんだな
みなさん、>>393-394 みたいな事にならないよう、気をひきしめましょう

397デフォルトの名無しさん2019/04/27(土) 00:20:06.56ID:nrL5Mhiq
平成最後っていう言い回し使われすぎて嫌いになってきた

398デフォルトの名無しさん2019/04/27(土) 00:23:11.48ID:v7q7vgVx
イテレータの参照を次に移すときってなんでitr++ではなく++itrなの?

399デフォルトの名無しさん2019/04/27(土) 00:33:20.40ID:nrL5Mhiq
ヤフーでぐぐれ

400デフォルトの名無しさん2019/04/27(土) 01:04:24.73ID:oB7jkl++
素直な実装だとitr++より++itrのほうが速いんじゃないかなあ、となんとなくみんなが思っているから


lud20190718082117ca

レス:1-200 201-400 401-600 601-800 801-1000 ALL

このスレへの固定リンク: http://5chb.net/r/tech/1554124625/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「C++相談室 part142 ->画像>13枚 」を見た人も見ています:
C++相談室 part126
C++相談室 part158
C++相談室 part124
C++相談室 part154
C++相談室 part150
C++相談室 part151
C++相談室 part155
C++相談室 part164
C++相談室 part156
C++相談室 part153
C++相談室 part157
C++相談室 part165
C++相談室 part149
C++相談室 part152
C++相談室 part148
C++相談室 part159
C++相談室 part163
C++相談室 part161
C++相談室 part166
C++相談室 part162
C++相談室 part137
C++相談室 part146
C++相談室 part137
C++相談室 part135
C++相談室 part143
C++相談室 part138
C++相談室 part132
C++相談室 part139
C++相談室 part134
C++相談室 part145
C++相談室 part140
C++相談室 part144
C++相談室 part141
C++相談室 part117
C++相談室 part130
C++相談室 part147
C++相談室 part133
C++相談室 part131
C++相談室 part136
C++Builder相談室 Part21
0からの、超初心者C++相談室
Cygwin + MinGW + GCC 相談室 Part 3
Cygwin + MinGW + GCC 相談室 Part 8
C++相談室 part129 [無断転載禁止]©2ch.net
C++相談室 part123 [無断転載禁止]©2ch.net
【初心者歓迎】デジタル一眼質問・購入相談室 166+
C♯相談室 Part20
C言語相談室(上級者専用)
Mac G5 中古買入相談室
MFC相談室 mfc22d.dll->動画>2本
屯田五目須のお悩み相談室
河田さんによる人生相談教室
MFC相談室 mfc23d.dll
C#, C♯, C#相談室 Part75
C#, C♯, C#相談室 Part79
C#, C♯, C#相談室 Part93
自営業 悩みごと相談室 40
C#, C♯, C#相談室 Part78
自営業 悩みごと相談室 16
C#, C♯, C#相談室 Part91
C#, C♯, C#相談室 Part94
C#, C♯, C#相談室 Part90
自営業 悩みごと相談室 52
09:36:59 up 137 days, 10:35, 0 users, load average: 12.85, 11.28, 11.65

in 0.022280931472778 sec @0.022280931472778@0b7 on 090122