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/11/14(火) 17:54:08.40ID:5jBDp5KP0
新機能の話をしていると初心者はさもそれが当たり前に使えなければならないように感じるがそんなことはない。
俺C++でクラスを自作することかなり少ないし。関数だけでもプログラミングはできる。
constexprも入ってやりやすくなったしな。そしてそれを全部内包するのがC++だ。
2017/11/14(火) 18:09:19.85ID:kNpqefN60
朱に交われば赤くなるって諺もあるしなぁ
初めからウンコを触るつもりで取り扱ってないと危険なのかも
思考が染まると、それを通して周りを見るので
ヒントが沢山あっても正しく捉えられなくて
なかなか抜け出せないのかもしれない
それか、初めから頭がおかしかったパターンもあるかも
どっぷりな人はそっちかも
黎明期は集団で流れることがあるからなぁ (なにせ悪は甘美)
学生運動とかいう今考えると理解しがたいのが流行ったり
大人側が組み入れながら徐々に脱却って感じかね
2017/11/14(火) 18:09:36.71ID:RoZqoRkM0
>>676
うわ、話にならんわこいつ・・・

>>677
荒れさせておいて同意するのも申し訳ないけど、俺もそうとしか思えない
D&E読んでも、C++がマルチパラダイムを自称するのはそういうことだし
「知らないことがその人を不幸にしない」とかゼロオーバーヘッドの話はまさに>>677に合致する

最近C++を勘違いしてるヤツがデカイ口叩きすぎだわ
そういうのはごく一部で、大抵無視されてるんだろうけど、C++を学ぼうという初心者が減ったら迷惑なんだけどな・・・・

荒れさせてスマソ、バカが調子に乗ってるのでこの辺にしとく
2017/11/14(火) 19:35:24.74ID:0CBPSjnu0
C++ってクラスとかテンプレート使うのがパチッとくる
場合はいいけれど、難しいで。
過去のCのプログラムとかC++のクラス使って書き直そうとすると。
実力なしでゴメソ。
681デフォルトの名無しさん (スップ Sd9f-Lcj1)
垢版 |
2017/11/14(火) 19:36:24.31ID:WJGjqzt8d
OOに関してはひところ純粋主義者が極端な言説を展開してC++をdisる流れがあったから、
それに対する反発と恨みがあるんだろうよ
2017/11/14(火) 19:45:52.27ID:0CBPSjnu0
>>681
俺もC++でOOのなんたるか理解しようとして心が折れそうになった。
肩身せまそうにbetter Cとしか使ってませんとか。
今ならrubyとか極端な話、powershellのコマンドいじくって
た方がわかりやすい。隠ぺいか(カプセル化)も
中身が細かく知りたいときには、イーッってなるし。
2017/11/14(火) 20:21:53.24ID:kNpqefN60
なんだかんだ、OOはオプションのうちの一つ
というありきたりの結論
2017/11/14(火) 20:47:09.33ID:l3LpPi1S0
>>682
カプセル化は、アクセス・窓口を制限・整理する、という目的だとおもいます

>>677
>新機能の話をしていると初心者はさもそれが当たり前に使えなければならないように感じるがそんなことはない。
じゃ、ムーブセマンティクスも忘れちゃっていいですか、RVO に頼るだけでいいですか?え?だめ?やっぱりやらなきゃだめですか
2017/11/14(火) 20:54:58.60ID:5jBDp5KP0
>>684
最適化するんなら必須か知らんけど、あるていどはコンパイラさんに投げてもよいのでは?
2017/11/14(火) 21:53:29.73ID:Dc+h7CROM
もうなんの話をしてるのかよくわからんけど
>>637
> >>636がまともな実力持ってるなら、meyersが言うセオリーに当てはまらない場面なんて山ほど経験してるはずだが
の具体的な場面だけは教えて欲しいわ
2017/11/14(火) 22:17:43.84ID:0CBPSjnu0
>>684
>カプセル化は、アクセス・窓口を制限・整理する、という目的だとおもいます
(データ+アクセス専用関数)=クラスだろ
2017/11/14(火) 23:16:12.96ID:kNpqefN60
OO用語の定義に関して、何か始まりそうな感じだが
もう何十回と繰り返されたか、初心者的にはまだまだやり足りないのかもしれないが
老婆心ながら言わせていただくと、OO用語の定義談義合戦は過去幾度となく繰り返されたが
特に意味はなかったから止めておいたほうが良いよ
OO自体、まじめに考えてもあんま意味ないっつーか、むしろまじめに考えるとドツボっつーか
一見正しいけど、本質的には意味が無いことってあるじゃん
ある視点で見れば正しいんだろうけど、そういうことじゃないっていう
どうしてもやりたいなら止めないけど
689デフォルトの名無しさん (スップ Sd9f-Lcj1)
垢版 |
2017/11/14(火) 23:25:41.26ID:WJGjqzt8d
定義がないんだから議論の正しさの検証も測定もできないしね
690デフォルトの名無しさん (ワッチョイ 5fb3-ouqv)
垢版 |
2017/11/14(火) 23:47:17.80ID:A1uj0brl0
測定機ならAliexpressでいろいろ売ってるよ。
2017/11/15(水) 04:07:06.94ID:EEpCgCZL0
C++のクラスなんて便利な構造体以上の何者でもない
OO宗教でそれ以上の縛りを入れる必要なんてないわ
2017/11/15(水) 04:43:25.86ID:oRL+59ym0
C++の書式がどーの新機能がどーのってプログラマーが、楽になる機能なわけで、本質は、楽してコードが動けばいい。
学術的だとどーでもいい。議論するだけ無駄。
コンパイラは、速くて、安全なアセンブリコードを吐いてくれればいいよ。
693デフォルトの名無しさん (ワッチョイ 5f02-TYjb)
垢版 |
2017/11/15(水) 05:57:24.70ID:1fEpam2j0
禿もそういう系の揉め方を防ぐように気を使っているらしいな
なんだっけ、どの分野の人々をも侮辱しないとか
全てが1つのクラスから派生しなければならないというのは押しつけがましいとか
2017/11/15(水) 13:52:35.02ID:qOFIR485M
??数値の比較をしていってある一定の差があるところを区切っていきたいです

たとえば{1,4,7,8,11}って値を先頭から見て行って差が2以上あるところ{1}{4}{7,8}{11}のような感じで区切る
どうすれば実現できるでしょうか
695デフォルトの名無しさん (スップ Sd9f-Lcj1)
垢版 |
2017/11/15(水) 14:31:02.26ID:l7NNgtZ+d
>>694
「区切る」の定義をしてくれ
入力が文字列じゃなくて数値ってことは、間に区切り文字を挟むとかそういうことじゃないんだろう。
2017/11/15(水) 14:34:11.09ID:ckRbh5hb0
後ろから前を引いて2以下?なら前を前回と同じバッファにプッシュバック。的な感じ。
2017/11/15(水) 14:55:59.73ID:qOFIR485M
>>695
後々区切られたまとまり毎に操作したいので
できればまとまり毎にそれぞれ別の変数に入れたいです

ただ操作上絶対に有り得ない数値を区切り文字として使うのでも良いです

{1}{9999}{4}{9999}{7,8}{9999}{11}{9999}
みたいな形で
2017/11/15(水) 15:10:16.47ID:mxK8zV000
こりゃまた大物新人が来ましたね
2017/11/15(水) 15:49:08.40ID:hv/Fx57R0
>>694 の書き出し化けてない?
「??白lの比較をしていって…」と表示されるんだけど。

対象の {1,4,7,8,11} はconstの整数のvectorへの参照で受け取るとして、
結果は要素グループごとに格納したvectorのvectorで返すかな。
各グループの先頭要素へのインデクスを格納したvectorで返すかも。

>>697 を見ると、前者の方が後の使い勝手が良いのかな。
要素グループのvectorのvectorってこと。
700デフォルトの名無しさん (スップ Sd9f-Lcj1)
垢版 |
2017/11/15(水) 16:08:47.13ID:l7NNgtZ+d
俺の知らない言語の話だったか...
2017/11/15(水) 16:15:16.93ID:SXIXTuPm0
麻雀か何かのアルゴリズム?
2017/11/15(水) 16:20:55.95ID:8IQafsadM
>>699
実装も前者の方が楽そうですな。
前の値と比べて差が広かったらグループ追加。
2017/11/15(水) 16:49:04.26ID:5RHQ4qAcM
>>699
その部分は数値の比較と書きました

要素グループのvectorのvectorですか

どのような感じで書けばいいとかどのような調べかたをすれば良いか教えて頂けないでしょうか

取っ掛かりが分からなくて
2017/11/15(水) 16:49:57.11ID:VtRcCO4N0
>>697
参考までに聞きたいんだが
この処理を何に使うの?
2017/11/15(水) 16:57:55.30ID:5RHQ4qAcM
>>704
ある方法で手に入れたいくつかの数値を先頭値から見ていき、
前後で差が小さいもの同士でグループ分けしていったあと
そのグループ毎の平均値を出していきたいだけです
2017/11/15(水) 17:01:28.65ID:mxK8zV000
それを何に使うかって聞いてんじゃないの
707デフォルトの名無しさん (ワッチョイ 5f78-XysI)
垢版 |
2017/11/15(水) 17:04:07.50ID:QX/ZMY070
こういう泥臭いのは人に聞くよりもスクリプトでもなんでも良いから書いて試行錯誤すればいいと思うのよ
2017/11/15(水) 17:07:39.49ID:VtRcCO4N0
株価やFXの予測とかそんな感じか?
2017/11/15(水) 17:52:07.11ID:SXjwAfn20
>>705
ruby2.2〜ならchunk_while/slice_whenで出来る
2017/11/15(水) 18:15:01.29ID:SXjwAfn20
スレタイみてなかた
2017/11/15(水) 18:49:45.50ID:9uMqyRhU0
>>705
思い付くまま書くとこうなるがもう少し短く出来そうな気もする

Ideone.com - dOQm10 - Online C++ Compiler & Debugging Tool
https://ideone.com/dOQm10
2017/11/15(水) 20:48:51.98ID:5RHQ4qAcM
>>711
ありがとう参考にする

しかし、よくこうスラッとプログラム書けるよなぁ
凄いわ
2017/11/15(水) 20:52:44.99ID:r8JgjB1aM
平均なら
https://ideone.com/tZALcZ
で充分と思うが
2017/11/15(水) 22:24:21.73ID:KiQc4/2v0
自分なりにやってみた。
https://ideone.com/ugURi1

>>711
vector::insertで領域の再確保が起こると既存のイテレータが破壊されるんで
24-25行あたりの処理はヤバイ。
2017/11/15(水) 22:45:07.35ID:sivdqd190
>>694
書き方だけならもう少し洗練?できるだろうけど
https://ideone.com/DYlMc0
2017/11/16(木) 19:03:07.86ID:qgvG7lfo0
すれちがいだけど、
C++が出る前のC言語で、STLが必要な処理はどうしてたの?
2017/11/16(木) 19:10:17.36ID:1Qzf60whd
>>716
固定バッファとか、ヒープとか、自己参照構造体などで管理してたはず。
2017/11/16(木) 20:50:27.90ID:WXeeSnzL0
>>612 ←こういう馬鹿がいるから
2017/11/16(木) 21:22:02.83ID:xIkq77qW0
一応つっこみ。
型の一般化がテンプレートと思うが
マクロじゃなくてテンプレート使えって書いてた本もあったような
気がする。
720デフォルトの名無しさん (スップ Sd82-lBnI)
垢版 |
2017/11/16(木) 21:27:58.68ID:w4cxkmV2d
>>718
新たな馬鹿の登場かな?
2017/11/16(木) 21:39:47.71ID:Pxu9bZObM
>>716
いや自分で書けばよくね?
2017/11/17(金) 08:37:40.63ID:smNhjLrp0
>>716
STL 等はあれば便利なだけで「それが必要な処理」などない。
723デフォルトの名無しさん (ワッチョイ 4178-kX9V)
垢版 |
2017/11/17(金) 09:38:50.05ID:S87VOpst0
>>716
STLで使われているアルゴリズムはC++前からあったものばっかだよ
2017/11/17(金) 09:46:53.51ID:4EHSQg4KM
汎用アルゴリズムのコードを業界で共通化することもなく、みんなが各々で実装してたんですか?というアンチテーゼだろ
2017/11/17(金) 09:59:16.63ID:smNhjLrp0
違うと思うけど?
2017/11/17(金) 10:03:14.26ID:NwY4XtJI0
まぁ、ライブラリとして偏在はしてたんだろうけど、あの会社はあのライブラリこの会社はこのライブラリってややこしいことになってたと思う。
2017/11/17(金) 16:57:04.66ID:vGXyPrNqa
リンクリストと平衡二分木ぐらいなら雑に書いても500行ぐらいでできる
みんな大学の復習と思って書いてたんじゃないかな?
2017/11/17(金) 18:49:47.16ID:a6b9gyRQd
自力で書いてる人の方が多かった
STLがあっても用途によっては独自になるよな
ディスク上に作るとか、JPEGのハフマン符号みたいに表現が決まってる物とか
2017/11/17(金) 18:52:08.38ID:a6b9gyRQd
STLはあくまでお手軽用途
表現縛りがなかったとしても、
ガチガチに最適化する用途では使えない
730デフォルトの名無しさん (ワッチョイ 8203-Eq1o)
垢版 |
2017/11/17(金) 20:50:18.49ID:HNipYc2I0
最適化できない? なんで??
テンプレートだろ
731デフォルトの名無しさん (ワッチョイ f9b3-AWKa)
垢版 |
2017/11/17(金) 21:51:52.32ID:Eetf/DNi0
テンプレート万能説爆誕。
2017/11/17(金) 22:21:21.86ID:EgKbzTW+0
if ( オーバーヘッドがない != 最適化される )
2017/11/17(金) 22:36:52.56ID:stAFfC8Ar
ガチガチに最適化する状況が最近はほとんどない
2017/11/17(金) 23:08:51.45ID:grVEZAi9M
ガチガチに最適化すべき場合ってどんな時だろうか
735デフォルトの名無しさん (ワッチョイ f9b3-AWKa)
垢版 |
2017/11/17(金) 23:17:53.86ID:Eetf/DNi0
ガチガチの最適化が仕様に盛り込まれたとき。
2017/11/17(金) 23:46:01.61ID:grVEZAi9M
そんな恒真命題は期待してないゾ

証券取引所とかか
2017/11/17(金) 23:47:03.87ID:Xj6+FFKd0
プログラミング工数の最適化
738デフォルトの名無しさん (ワッチョイ a980-61Vg)
垢版 |
2017/11/17(金) 23:50:29.19ID:sEHgCDk10
最近は凝ったアルゴリズムより単純な配列(vector)の方が速かったりするうえに、余程古いかクソな標準ライブラリを使用してない限りstd::vectorを最適化する余地なんてほぼ無いわな。
2017/11/18(土) 00:03:07.23ID:r8nC/FGp0
最適化はコンパイラに任せてソースは読み易さ重視
std使っとけばデバッガでも追いやすいし
740デフォルトの名無しさん (ワッチョイ f9b3-AWKa)
垢版 |
2017/11/18(土) 00:08:41.90ID:CUoz+hOS0
拡張ライブラリが有ったとしたら、名前空間はstxになるのかね。
741デフォルトの名無しさん (ワッチョイ f9b3-AWKa)
垢版 |
2017/11/18(土) 00:11:29.34ID:CUoz+hOS0
Qtでウェブサイト作ったら何の問題もなくずっと動き続けてびっくりですよ。
Javaスレの人たちがC++は稼働し続けるとメモリーの分断化で落ちるとか言ってたから、
早く書き直さなきゃって思ってたんだけど。
クライアント用のQtがサーバーで頑健だったのは意外だった。
742デフォルトの名無しさん (ワッチョイ 4178-kX9V)
垢版 |
2017/11/18(土) 00:14:32.63ID:asu2qdyg0
まぁ意識高い系が言うことなんかその程度ってこった
2017/11/18(土) 00:21:40.93ID:GO3RY34O0
>>741
TreeFrogの人?
744デフォルトの名無しさん (ワッチョイ a980-61Vg)
垢版 |
2017/11/18(土) 01:10:27.30ID:PnwIkFzo0
>>741
クソJavaプログラマーがC++を書くとほぼ間違いなくやるただのメモリリークを俺のせいじゃないということにしたかっただけというのに1票
745デフォルトの名無しさん (ワッチョイ 25d6-Eq1o)
垢版 |
2017/11/18(土) 06:06:05.59ID:mIICZMYh0
自分のコードでさえ後で読むと読みやすく書いたつもりが裏目に出ていたりする
2017/11/18(土) 08:23:02.49ID:cx1PUhyJ0
奴らはnewしても決してdeleteしないからな
2017/11/18(土) 11:32:01.12ID:azZ7ClyG0
俺も最近unique_ptrに任せっきりでdeleteってほとんど書かねえわ
コピコンの=deleteとかは書くけど
2017/11/18(土) 12:02:10.83ID:Erlsd62p0
>>739
古いコンパイラ(つっても10年くらい)だと、クラス内の配列をイジるとクラスオブジェクト自体がイジられたことになるので最適化放棄とかしてたしなー
そういうのだとvectorなんて最適化放棄しまくり。
2017/11/18(土) 13:45:01.11ID:6KFO0fze0
バカは素直にスマポ使っとけばいいのにな
2017/11/18(土) 14:09:50.22ID:fgAW9Gk/0
>>748
オブジェクトXに対するアクセスの最適化放棄はコンパイラの知りえない形での
Xへの副作用が有り得ると判断された場合に行われるがこれは現用コンパイラでも変わらん
改善したというのはコンパイラの能力向上というよりは、テンプレートによるインライン展開のご利益なのでは…
(つまりstd::vectorは元来最適化向きの進化である
2017/11/18(土) 14:13:16.03ID:fgAW9Gk/0
例:
次のコードの並びにおいて、
1と3の読み込み結果は同一とはみなされず、1〜3を通してのX.aのレジスタ割り当ては行われない
 1. Xのメンバaを読む
 2. 外部リンケージ(かつ素性の知れた組み込み関数以外)の関数foo()を呼ぶ
 3. Xのメンバaを読む

特効薬はfoo()のインライン展開
2017/11/18(土) 14:16:28.52ID:fgAW9Gk/0
なお手動を厭わないなら次の風にしても良い:
 0. auto変数v = X.a
 1. X.aを読む代りにvを読む
 2. 外部リンケージ(かつ素性の知れた組み込み関数以外)の関数foo()を呼ぶ
 3. X.aを読む代りにvを読む

これならいくら古いコンパイラでもvを1〜3を通してレジスタ割り当てすることが気体できる
753デフォルトの名無しさん (ワッチョイ f9b3-GXP8)
垢版 |
2017/11/18(土) 16:28:12.38ID:gZtBhbAH0
浮動小数点をすべて網羅するループが書きたいのですがどうすればいいでしょうか。
754デフォルトの名無しさん (ワッチョイ f9b3-AWKa)
垢版 |
2017/11/18(土) 16:29:45.36ID:CUoz+hOS0
ラスボス級が現れた。
2017/11/18(土) 16:46:32.60ID:gZtBhbAH0
http://takashiijiri.com/study/miscs/fastsqrt.html
やりたいことは、上のサイトにある高速根号計算の精度検証です。

サイト内では2の根号に対して精度検証していますが
すべての倍精度実数に対して検証をしたいと考えています。

64bitの整数のビット表現を、同じビット表現の倍精度実数に変換できれば
整数についてループを回すことで網羅できると考えています。

変換の方法をご存知の方がいれば教えて頂けないでしょうか。
2017/11/18(土) 16:47:50.09ID:R4dFDjUs0
>>753
イプシロン足してくとか。
2017/11/18(土) 16:48:48.90ID:np1Yc2el0
>>755 memcpy
2017/11/18(土) 16:49:32.41ID:R4dFDjUs0
>>755
IEEEの仕様読め。
https://ja.wikipedia.org/wiki/IEEE_754
2017/11/18(土) 16:50:13.11ID:R4dFDjUs0
>>757
reinterpret_castでいい予感。
2017/11/18(土) 16:51:55.15ID:np1Yc2el0
>>755
ところでその検証、何年ぐらい時間かけていい話なの?
2017/11/18(土) 16:53:01.86ID:np1Yc2el0
>>759
未定義動作でも「いい」と言うなら、そう。
2017/11/18(土) 16:55:15.51ID:R4dFDjUs0
あー検証だからな。すまんかった。
2017/11/18(土) 17:20:21.34ID:gZtBhbAH0
みなさま、レスありがとうございます。

>>757
memcpyでできそうです。ありがとうございます。

int main() {
double f = 0;
for (unsigned long long i = 0; i <= -1; ++i) {
void* fp = static_cast<void*>(&f);
void* ip = static_cast<void*>(&i);
std::memcpy(fp, ip, sizeof(i));

std::cout << f << std::endl;
}
system("pause");
}

>>760
そんなに時間かかるんですかね。。。
1週間ぐらいは覚悟してたんですが。
とりあえず回してみます。
2017/11/18(土) 17:32:14.09ID:np1Yc2el0
>>763
https://randomascii.wordpress.com/2014/01/27/theres-only-four-billion-floatsso-test-them-all/
> ... you can test every float bit-pattern (all four billion!) in about ninety seconds. ...

32bit が 90 秒ほどで済ませられるそうな。 64bit だと単純計算で・・・ 735439.6... 年ぐらいかな。
1週間で済ませようと思ったら 38347922 並列ぐらいで走らせればよさそう。

検証する計算内容によっても変わるだろうけど、まぁがんばれ。
2017/11/18(土) 17:35:34.11ID:hpuIg+Nf0
とりあえず範囲を絞って回してみて、
力任せの方法で受け入れられる処理時間なら単純なプログラムのまま、
時間かかりすぎるようなら先にプログラムを洗練させる、としないと。
2017/11/18(土) 17:56:05.12ID:gZtBhbAH0
>>764
ありがとうございます。
32bitと64bitが桁違いですね

範囲を絞ったり、間隔あけてサンプリングしたりしてみます。
2017/11/18(土) 19:06:18.60ID:cx1PUhyJ0
isnan()でnanチェック入れたほうが良さそう
2017/11/18(土) 19:44:12.36ID:euoYf0NO0
>>761
未定義にはならなくね?ポインタtoポインタだからそのまま、で終わりでは。
なお、Cなら

*(long long*)&f = i; // mov命令でコピー
または
f = *(double*)&i; // fmov命令でコピー


>>766
まず仮数部53bit+指数部の偶奇で54bit分でいい。
非正規化数もいらないだろうから仮数部52bit扱いでもいい。
意味が分からないのなら仕様読め>>758
2017/11/18(土) 20:29:47.22ID:np1Yc2el0
>>768
type-based aliasing rule (strict aliasing rule) というものがあってな。
(詳しく調べると闇に落ちるから言語オタクでもなければ深堀りはおすすめしない。)

mempcy なら動作が定義されてるかというとそうでもないんで、
明示的に未定義といわれているかどうか(=最適化で問題を起こしやすいかどうか)の違いしかないんだけど。
2017/11/18(土) 20:40:55.67ID:b6ZSsfqz0
std::launder「そろそろ俺の出番だな」
2017/11/18(土) 21:23:52.47ID:azZ7ClyG0
ここまでfrexpとldexpの話なし
2017/11/18(土) 21:57:24.41ID:QiNK1qRtd
https://github.com/katahiromz/RisohEditor

せっかくだから、だれかバグ発見・修正してけ。
2017/11/18(土) 21:58:52.49ID:QiNK1qRtd
初回の例外というのがよくわからない。。。
774デフォルトの名無しさん (ワッチョイ 4178-kX9V)
垢版 |
2017/11/18(土) 22:06:57.57ID:asu2qdyg0
なんか古い書き方だから2000年ごろからの年季の入ったソースかと思ったら最近の奴なんだな
2017/11/18(土) 22:12:33.66ID:QiNK1qRtd
>>774
古臭い技術専門が時代遅れのために作っているもんだから、古いと言われても仕方ない。
auto、C++11が使えるclang++に移行したい。
2017/11/18(土) 22:42:09.82ID:euoYf0NO0
>>769
調べたけどこれでいいのか?
https://stackoverflow.com/questions/98650/what-is-the-strict-aliasing-rule

これならreinterpret_cast関係ないじゃん。static_castにしたところで変わらん。
ただそれ以前に該当しないだろ。
「同一のメモリを違う型としてaliasしたときにコンパイラがそれに気づけず最適化で削除してしまう」という問題であり、
今回はそうではない。

> mempcy なら動作が定義されてるかというとそうでもないんで
ほんとか?それじゃmemcpyマトモに使えないじゃん。
void*は++で1増えるって仕様に決まったはずで、、、と思ったがこれがgcc拡張だという話があり、このことを言っているのか?

ならグダグダ言わずにCキャストで書けよもう、としか思わないが。
或いはC++的には許せないのかもしれんが static_cast<double>にしてしまうとかか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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