トップページ > プログラム > 2015年11月11日 > WDtG518P

書き込み順位&時間帯一覧

2 位/188 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000000011520000130114



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Win32API質問箱 Build121 [転載禁止]©2ch.net
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
【統計分析】機械学習・データマイニング5 [転載禁止]©2ch.net
HSP総合スレ【part 8】 [転載禁止]©2ch.net
ゲームプログラムなら俺に聞け32©2ch.net
C++相談室 part120 [転載禁止]©2ch.net
サウンドプログラミング5

書き込みレス一覧

Win32API質問箱 Build121 [転載禁止]©2ch.net
564 :デフォルトの名無しさん[sage]:2015/11/11(水) 12:07:01.93 ID:WDtG518P
>>560
それがコンパイラの警告は出ないんですよ
VSは大昔からこの書き方に対応していて
DirectXなんかでは良くfunc( &D3DXVECTOR3( x, y, z ) );
とか便利なんでよく使っていました
コンパイラは警告も出さないしコンパイルも通るし
動作も期待通りなのに
インテリセンスだけが文句言ってくるんです
コンパイラとインテリセンスで動作がチグハグなんです
Win32API質問箱 Build121 [転載禁止]©2ch.net
566 :デフォルトの名無しさん[sage]:2015/11/11(水) 13:56:12.23 ID:WDtG518P
struct test1{ int x; }; //コンストラクタ無し
struct test2{ int x; test2(){} }; //コンストラクタ有り
void func( test1 *t ){}
void func( test2 *t ){}
func( &test1{} ); //インテリセンスが警告
func( &test2{} ); //OK
func( &test1() ); //デフォルトのコンストラクタを呼び出すスタイルならOK

色々試してみたんだけど、コンストラクタが有る構造体ならインテリセンスの警告は出ません
コンストラクタがない構造体の場合のみインテリセンスが文句を言ってきます
しかし、コンストラクタが無い構造体でも、&test1()という風に
デフォルトのコンストラクタを呼び出すスタイルだとインテリセンスのエラーは消えます
(しかし、コンストラクタの無い構造体を初期化リストで初期化した物のポインタをAPIに渡したい 
 というのが元々の悩みだったので、デフォルトのコンストラクタでは役にただず、意味がありません)
いずれの場合でも、コンパイラは警告もエラーも出さず、コンパイルは通ります
C++0xの細部は複雑すぎてよく分りませんわ
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
908 :デフォルトの名無しさん[sage]:2015/11/11(水) 14:21:46.94 ID:WDtG518P
可変長引数の場合はキャストが必要
でもこれは良く考えれば一般的にそうだ
単に0と書いたとき、charなのかintなのかlongなのかlong longなのか
usngiendなのかsigneldなのか何なのか分らないではないか
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
912 :デフォルトの名無しさん[sage]:2015/11/11(水) 14:44:02.88 ID:WDtG518P
君が何言ってるの?
int32とint64でサイズが違うけど
単に0と書いただけでは判断つかない
期待される型が分っている場合ならコンパイラが適切に変換してくれる
(0をヌルポインターに変換するのと同じように)

しかし可変長引数やプロトタイプの無い関数の場合は
コンパイラは期待される型がわからないから
int64のつもりで0と書いていても、コンパイラはintの0を生成するだろう
キャストするかサフィクスをつけなければならない
(ちょうど(void *)0と書かなければならないのと同じようにな)
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
916 :デフォルトの名無しさん[sage]:2015/11/11(水) 14:50:12.44 ID:WDtG518P
可変長引数やプロトタイプ宣言の無い関数で
受け取り側がint64のつもりで受け取っていたら
呼び出し側もint64を渡さなければならない、当たり前
しかし、単に0と書いただけではintになるから
intが32bitの環境ならスタックフレームが壊れて即座にクラッシュする
だから受け渡し側はサフィクスかキャストをして渡さなければならない
これはちょうどヌルポを渡すときに(void *)0とキャストが必要なのと同じこと
もちろん、プロトタイプ宣言があってコンパイラが関数の型を分っているなら
適切に変換されるわけだがな
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
918 :デフォルトの名無しさん[sage]:2015/11/11(水) 14:54:02.25 ID:WDtG518P
だから可変長引数やプロトタイプの無い関数で
ヌルポインターを渡すときに(void *)0とキャストが必要というのは
数値のリテラル一般にも、そういうことだということ
特別な事じゃない
元々そういうもの
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
919 :デフォルトの名無しさん[sage]:2015/11/11(水) 14:55:01.00 ID:WDtG518P
スタックフレームは確かに壊れんなスマソ
しかしプログラムはバグるがな
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
922 :デフォルトの名無しさん[sage]:2015/11/11(水) 15:31:07.69 ID:WDtG518P
むしろfloatはdoubleに拡張されるんじゃなかったっけか?
【統計分析】機械学習・データマイニング5 [転載禁止]©2ch.net
337 :デフォルトの名無しさん[sage]:2015/11/11(水) 15:34:43.43 ID:WDtG518P
マイナンバーが銀行の口座と紐づくらしいから
怪しいお金の動きがあると自動検出して
リストアップするお仕事が有るんじゃね?
何億という予算で
HSP総合スレ【part 8】 [転載禁止]©2ch.net
835 :デフォルトの名無しさん[sage]:2015/11/11(水) 20:26:34.34 ID:WDtG518P
公式掲示板で聞いてください
【統計分析】機械学習・データマイニング5 [転載禁止]©2ch.net
347 :デフォルトの名無しさん[sage]:2015/11/11(水) 21:07:00.55 ID:WDtG518P
運動して消費した脂肪はどこへ消えるんですか?
ゲームプログラムなら俺に聞け32©2ch.net
529 :デフォルトの名無しさん[sage]:2015/11/11(水) 21:19:16.21 ID:WDtG518P
WiiUのゲームってスペック低いのに、やたら綺麗じゃないですか
最近だとスプラトゥーンとか
ライディングがふんわりしているというか、グローバルイルミネーション風に見える
あれってどうやってるんですか?
事前に計算してテクスチャに焼きこんでいるんですか?
C++相談室 part120 [転載禁止]©2ch.net
445 :デフォルトの名無しさん[sage]:2015/11/11(水) 21:57:04.54 ID:WDtG518P
万能もポインタはスマートポインタの方で
イテレータはイテレータだろう
サウンドプログラミング5
979 :デフォルトの名無しさん[sage]:2015/11/11(水) 23:40:23.13 ID:WDtG518P
それより
俺が思うにDeepDreamのアルゴリズムで
既存の曲から自動でチャー研MADを合成するのが良いと思う


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。