C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part147
https://mevius.5ch.net/test/read.cgi/tech/1576659413/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
探検
C++相談室 part148
■ このスレッドは過去ログ倉庫に格納されています
2020/01/31(金) 20:54:06.26ID:Nt0XFA2s
489デフォルトの名無しさん
2020/02/08(土) 21:30:32.47ID:uvgcwZ2m 汎整数拡張でググれ
490デフォルトの名無しさん
2020/02/08(土) 21:35:32.85ID:RKzyJDHj491デフォルトの名無しさん
2020/02/08(土) 23:34:23.41ID:jnRyPLnj >>472
いや。TRUE は、必ず if 式で真と判定されるので、if (b == TRUE) としなくても
if (b) で絶対十分であることは補償されている。
むしろ、if (b == TRUE) と書くのはバグの原因になるので駄目だと言われている。
いや。TRUE は、必ず if 式で真と判定されるので、if (b == TRUE) としなくても
if (b) で絶対十分であることは補償されている。
むしろ、if (b == TRUE) と書くのはバグの原因になるので駄目だと言われている。
492デフォルトの名無しさん
2020/02/08(土) 23:51:17.72ID:jnRyPLnj なんというか、TRUE は、処理系ごとに変化する値ではなく、C/C++ においては、標準的には必ず 1 に #define されている。
一応分かり易さのために TRUE と書いているだけで、TRUEが2になったりする事は考える必要はない。
ただし、逆に、高速化のために 1 ではなく、非0の値を返してたまたまの値、
例えば、12 とかを返してくる関数が有りえる。
その場合、うっかり間違って if ( b == TRUE ) などと書いてしまっていたら
大変なことになるので、意味的に TRUE を返す場合には、
if ( b ) または、if ( b != 0 ) と書く方が安全だと考えられている。
一応分かり易さのために TRUE と書いているだけで、TRUEが2になったりする事は考える必要はない。
ただし、逆に、高速化のために 1 ではなく、非0の値を返してたまたまの値、
例えば、12 とかを返してくる関数が有りえる。
その場合、うっかり間違って if ( b == TRUE ) などと書いてしまっていたら
大変なことになるので、意味的に TRUE を返す場合には、
if ( b ) または、if ( b != 0 ) と書く方が安全だと考えられている。
493デフォルトの名無しさん
2020/02/08(土) 23:53:58.53ID:jnRyPLnj 非常に古い時代に、TRUE を -1 と定義していた処理系もあったかもしれないが、
現在の C/C++ では、1 に定義するのが基本とされている。
b == TRUE という判定の仕方は、C/C++ の言語仕様から考えれば推奨されない。
現在の C/C++ では、1 に定義するのが基本とされている。
b == TRUE という判定の仕方は、C/C++ の言語仕様から考えれば推奨されない。
494はちみつ餃子 ◆8X2XSCHEME
2020/02/09(日) 00:57:27.97ID:OoesT11A >>492-493
言語仕様にある true を避けているのだから、
その環境においては標準と異なる事情があるのだと察するべきじゃないの。
まあそういうことがあったらもっと別の名前を付けるべきだとは思うけど。
C/C++ はその性質上、様々なシステムの仲立ちをする機会があるし、
いろんな事情に左右される。
TRUE を 1 と定義する機会が多いのは確かだろうし、
そのときの習慣が確立されてもいるのもわかってるけど、
それが当たり前かっつーとそうとも言えんのじゃないかな。
言語仕様にある true を避けているのだから、
その環境においては標準と異なる事情があるのだと察するべきじゃないの。
まあそういうことがあったらもっと別の名前を付けるべきだとは思うけど。
C/C++ はその性質上、様々なシステムの仲立ちをする機会があるし、
いろんな事情に左右される。
TRUE を 1 と定義する機会が多いのは確かだろうし、
そのときの習慣が確立されてもいるのもわかってるけど、
それが当たり前かっつーとそうとも言えんのじゃないかな。
495デフォルトの名無しさん
2020/02/09(日) 01:17:16.75ID:J5M0tDgl 趣味人だとかいってるがハチミツ餃子はたまに良い事いうから困る
496デフォルトの名無しさん
2020/02/09(日) 01:23:08.88ID:e66sowWB >>494
TRUE が 1 以外に定義されていても、TRUE の値は、if 文では真と解釈されることだけは保障されているので、if (b) は問題ない。
逆に BOOL b の場合、b が非0であるが、TRUE のマクロ値とは異なった値になっている場合がないとは保障はされない。
なので、if ( b == TRUE ) だと、TRUE ではないが b に真とみなせる値が入っている場合にすり抜けてしまう恐れがあり、重大バグの原因となる。
TRUE が 1 以外に定義されていても、TRUE の値は、if 文では真と解釈されることだけは保障されているので、if (b) は問題ない。
逆に BOOL b の場合、b が非0であるが、TRUE のマクロ値とは異なった値になっている場合がないとは保障はされない。
なので、if ( b == TRUE ) だと、TRUE ではないが b に真とみなせる値が入っている場合にすり抜けてしまう恐れがあり、重大バグの原因となる。
497デフォルトの名無しさん
2020/02/09(日) 01:23:18.79ID:bHnzUNQO >>494
避けるもクソもそもそも昔なかったし
避けるもクソもそもそも昔なかったし
498デフォルトの名無しさん
2020/02/09(日) 01:33:30.02ID:Jw8Rx7z0 あったぞ
MSが実装サボっただけで
MSが実装サボっただけで
499デフォルトの名無しさん
2020/02/09(日) 01:58:53.21ID:bHnzUNQO 当時のc言語には仕様に無くない?
500はちみつ餃子 ◆8X2XSCHEME
2020/02/09(日) 02:19:40.02ID:OoesT11A501デフォルトの名無しさん
2020/02/09(日) 02:27:09.56ID:cYNa4VVg 過去と未来の狭間にあるってことかな。
502デフォルトの名無しさん
2020/02/09(日) 04:25:17.31ID:ids8kf+0 WindowsAPIはC++限定じゃなくCを主軸に捉えてるだろ
クラスとか一切無いしマクロだらけだし
そもそもboolが無かったってのはそういうことやろ
クラスとか一切無いしマクロだらけだし
そもそもboolが無かったってのはそういうことやろ
503デフォルトの名無しさん
2020/02/09(日) 07:14:29.14ID:6++kPC7v504デフォルトの名無しさん
2020/02/09(日) 07:15:18.90ID:6++kPC7v >>502
Cと言うよりPascalだし
Cと言うよりPascalだし
505デフォルトの名無しさん
2020/02/09(日) 07:19:31.89ID:PT76WH2y >>434
自己紹介乙
自己紹介乙
506デフォルトの名無しさん
2020/02/09(日) 07:24:44.99ID:PT76WH2y507デフォルトの名無しさん
2020/02/09(日) 08:43:40.61ID:J3Qn0niW >>496
何回ループしてるんだよ。
真(truthy)であることが要求されているなら if (b) だし、TRUEであることが要求されるなら
if (b == TRUE) だ。それを取り違えることがバグだ。
何回ループしてるんだよ。
真(truthy)であることが要求されているなら if (b) だし、TRUEであることが要求されるなら
if (b == TRUE) だ。それを取り違えることがバグだ。
508デフォルトの名無しさん
2020/02/09(日) 08:54:48.96ID:aEgJYC9i509デフォルトの名無しさん
2020/02/09(日) 08:59:21.69ID:aEgJYC9i まあ失敗時はFALSE、とも書いてあるから、こう書くのが正解!
bRet32 = MakeSureDirectoryPathExists("C:\\tmp");
if (bRet == TRUE) {
// 成功すた
...
} else if (bRet == FALSE) {{
// 失敗すた
...
} else {
assert(0);
}
bRet32 = MakeSureDirectoryPathExists("C:\\tmp");
if (bRet == TRUE) {
// 成功すた
...
} else if (bRet == FALSE) {{
// 失敗すた
...
} else {
assert(0);
}
510デフォルトの名無しさん
2020/02/09(日) 09:03:53.87ID:aEgJYC9i511デフォルトの名無しさん
2020/02/09(日) 09:06:48.93ID:aEgJYC9i512デフォルトの名無しさん
2020/02/09(日) 09:28:45.27ID:PT76WH2y C89にboolがないことに拒否反応を起こす頭の固い奴に迎合して作られたboolでないBOOL
513デフォルトの名無しさん
2020/02/09(日) 09:35:18.39ID:aEgJYC9i 先にWindowsがシステムコールとしての素朴な要請からbool型の実装型を定義して、
その後コンパイラメーカーがbool型の実装を別の方式にし出すよりは
よっぽどマシやったろうが!
個人的にはBOOLは好きだがな
TRUE/FALSEを表すのに4バイトも使うところが
いかにもリッチなOSっぽく、使っていてリッチな気分になれる
その後コンパイラメーカーがbool型の実装を別の方式にし出すよりは
よっぽどマシやったろうが!
個人的にはBOOLは好きだがな
TRUE/FALSEを表すのに4バイトも使うところが
いかにもリッチなOSっぽく、使っていてリッチな気分になれる
514デフォルトの名無しさん
2020/02/09(日) 09:41:35.54ID:6++kPC7v >>508
ありがと
全部は見てないけどDbgHelp関連の奴はその書き方してるみたいね
https://docs.microsoft.com/en-us/windows/win32/debug/dbghelp-functions
ありがと
全部は見てないけどDbgHelp関連の奴はその書き方してるみたいね
https://docs.microsoft.com/en-us/windows/win32/debug/dbghelp-functions
515デフォルトの名無しさん
2020/02/09(日) 09:47:29.30ID:Ej5ffr5G516デフォルトの名無しさん
2020/02/09(日) 09:55:00.47ID:aEgJYC9i といっても成功していないのだからエラー扱いで差し支えないなのでは…
517デフォルトの名無しさん
2020/02/09(日) 10:28:32.96ID:Ej5ffr5G >>516
なんでそんなに自信満々なんだよw
マジでドキュメント見てこい
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getmessage
なんでそんなに自信満々なんだよw
マジでドキュメント見てこい
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getmessage
518デフォルトの名無しさん
2020/02/09(日) 10:45:20.17ID:Jw8Rx7z0519デフォルトの名無しさん
2020/02/09(日) 10:54:04.79ID:Jw8Rx7z0 クソ雑魚>>510はマニュアルを読まない可能性があるので、マニュアルの使用例貼っておきますね
GetMessageがFALSE(0)返したときの何がエラーだって?笑わせんなカス
TRUE以外ならassertで落としていいなんてどこに書いてある?勝手な妄想すんなゴミ
BOOL bRet;
while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
GetMessageがFALSE(0)返したときの何がエラーだって?笑わせんなカス
TRUE以外ならassertで落としていいなんてどこに書いてある?勝手な妄想すんなゴミ
BOOL bRet;
while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
520デフォルトの名無しさん
2020/02/09(日) 11:39:41.09ID:aEgJYC9i521デフォルトの名無しさん
2020/02/09(日) 11:53:18.89ID:PT76WH2y >>519
変数いらねーから
for(;;)
switch(GetMessage(&msg, hWnd, 0, 0))
{
default:
TranslateMessage(&msg);
DispatchMessage(&msg);
break;
case 0:
return int(msg.wParam);
case -1:
throw std::system_error(std::error_code(int(GetLastError()), std::system_category()), "GetMessage");
}
変数いらねーから
for(;;)
switch(GetMessage(&msg, hWnd, 0, 0))
{
default:
TranslateMessage(&msg);
DispatchMessage(&msg);
break;
case 0:
return int(msg.wParam);
case -1:
throw std::system_error(std::error_code(int(GetLastError()), std::system_category()), "GetMessage");
}
522デフォルトの名無しさん
2020/02/09(日) 12:02:53.96ID:Cr/e9GtE while(GetMessage( &msg, hWnd, 0, 0 ) >0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
523デフォルトの名無しさん
2020/02/09(日) 12:05:04.77ID:aEgJYC9i とオモタがわかった
GetMessage()は WM_QUIT以外を受け取ったとき非0を返す、としか書かれていないから
bRet32 == TRUEでは正しい判定にならないのねん
使ったのがスゲー昔なので忘れていたが、そのときは多分>>519式に書いたから安心してホスイ
GetMessage()は WM_QUIT以外を受け取ったとき非0を返す、としか書かれていないから
bRet32 == TRUEでは正しい判定にならないのねん
使ったのがスゲー昔なので忘れていたが、そのときは多分>>519式に書いたから安心してホスイ
524デフォルトの名無しさん
2020/02/09(日) 12:06:02.94ID:aEgJYC9i >>522
気持ちはワカル
気持ちはワカル
525デフォルトの名無しさん
2020/02/09(日) 15:07:49.90ID:Z95s67CZ しょうもない事で攻撃的になるやつなんなの
いつも吹いてしまうw
いつも吹いてしまうw
526デフォルトの名無しさん
2020/02/09(日) 15:13:04.53ID:G+Zw2pJ3 (笑)
527はちみつ餃子 ◆8X2XSCHEME
2020/02/09(日) 15:27:19.45ID:OoesT11A >>506
BASIC というか、古の言語にはビット演算と論理演算の区別がないものが結構あった。
全てのビットが立った状態 (-1) を真ということにしておけば
ビット演算用の AND, OR, NOT がそのまま論理演算のそれとして使える。
昔はこれが気の利いた方法だったんだろう。
BASIC というか、古の言語にはビット演算と論理演算の区別がないものが結構あった。
全てのビットが立った状態 (-1) を真ということにしておけば
ビット演算用の AND, OR, NOT がそのまま論理演算のそれとして使える。
昔はこれが気の利いた方法だったんだろう。
528デフォルトの名無しさん
2020/02/09(日) 16:19:35.32ID:wTv3WydA #define FALSE 0 ← 正しい
#define TRUE 1 ← 間違い くず! 0点!! 出入り禁止!!!
#define TRUE (!0) ← 正しい
if(b) ← 正しい
if(b != FALSE) ← 正しい
if(b == TRUE) ← 間違い くず! 0点!! 出入り禁止!!!
#define TRUE 1 ← 間違い くず! 0点!! 出入り禁止!!!
#define TRUE (!0) ← 正しい
if(b) ← 正しい
if(b != FALSE) ← 正しい
if(b == TRUE) ← 間違い くず! 0点!! 出入り禁止!!!
529デフォルトの名無しさん
2020/02/09(日) 17:16:55.31ID:J3Qn0niW >if(b != FALSE) ← 正しい
これこそ糞コード
これこそ糞コード
530デフォルトの名無しさん
2020/02/09(日) 17:20:45.96ID:GpaXptWq 意味的にboolなら
if (a)
if (!a)
で判断すべきだと思う
if (a)
if (!a)
で判断すべきだと思う
531デフォルトの名無しさん
2020/02/09(日) 17:24:22.90ID:GpaXptWq if (a == TRUE)
if (a == TRUE == TRUE)
if (a == TRUE == TRUE == TRUE)
if (a == TRUE == TRUE)
if (a == TRUE == TRUE == TRUE)
532デフォルトの名無しさん
2020/02/09(日) 17:32:39.19ID:DvSFPggO とぅっとぅるぅ〜♪
533デフォルトの名無しさん
2020/02/09(日) 17:40:32.11ID:J3Qn0niW534デフォルトの名無しさん
2020/02/09(日) 17:46:22.21ID:cYNa4VVg ちゃうねん。
535デフォルトの名無しさん
2020/02/09(日) 17:46:32.42ID:ugWNThcV >>528
#define TRUE (!0) ← 正しい
C/C++ では、!0 は、必ず1 になることが仕様化されているので、仕様に準拠している
処理系ではこれは必ず、
#define TRUE 1
と書くのと同じになるので、敢えて (!0) と書く意味は無い。
#define TRUE (!0) ← 正しい
C/C++ では、!0 は、必ず1 になることが仕様化されているので、仕様に準拠している
処理系ではこれは必ず、
#define TRUE 1
と書くのと同じになるので、敢えて (!0) と書く意味は無い。
536デフォルトの名無しさん
2020/02/09(日) 17:48:20.60ID:GpaXptWq boolだろうがBOOLだろうがYESNOだろうが
意味がboolであればboolと同じ扱い
意味がboolであればboolと同じ扱い
537デフォルトの名無しさん
2020/02/09(日) 17:48:58.88ID:6++kPC7v538デフォルトの名無しさん
2020/02/09(日) 17:50:49.32ID:GpaXptWq539デフォルトの名無しさん
2020/02/09(日) 17:55:11.50ID:J3Qn0niW540デフォルトの名無しさん
2020/02/09(日) 17:59:01.69ID:cYNa4VVg >>539
!(b != TRUE)。
!(b != TRUE)。
541デフォルトの名無しさん
2020/02/09(日) 18:02:21.32ID:GpaXptWq 普通はTRUEかFALSEしか入ってないんだよ
それ以外が入ってる可能性があるなら
普通TRUEがどうかの判断だけじゃダメじゃないか?
それ以外が入ってる可能性があるなら
普通TRUEがどうかの判断だけじゃダメじゃないか?
542デフォルトの名無しさん
2020/02/09(日) 18:05:49.02ID:GpaXptWq switch (b){
case FALSE:
...
case TRUE:
...
case ???
...
default
...
}
これで
case FALSE:
...
case TRUE:
...
case ???
...
default
...
}
これで
543デフォルトの名無しさん
2020/02/09(日) 18:07:19.16ID:ugWNThcV >>539
それは難しくいえば数学の集合論の話になる。
{0} と {非0} の二つの集合が有り、
if の条件式では、前者が偽、後者が真と評価される。
TRUEはどんな処理系であれ、必ず後者の集合の要素(元)になっていることだけは
保障されている。
なので、if ( b != 0 ) や、if (b) は正しいが、
if (b == TRUE) は絶対駄目、ということになる。
それは難しくいえば数学の集合論の話になる。
{0} と {非0} の二つの集合が有り、
if の条件式では、前者が偽、後者が真と評価される。
TRUEはどんな処理系であれ、必ず後者の集合の要素(元)になっていることだけは
保障されている。
なので、if ( b != 0 ) や、if (b) は正しいが、
if (b == TRUE) は絶対駄目、ということになる。
544デフォルトの名無しさん
2020/02/09(日) 18:09:46.56ID:GpaXptWq545デフォルトの名無しさん
2020/02/09(日) 18:10:45.32ID:ugWNThcV if ( b == TRUE ) は、この条件式自体の動作は問題ないが、
b が TRUE ではないが、真である何らかの値を持っていたときに破綻してしまう。
BOOL b と書いた場合、本人が書いたプログラムでは b は、必ず
TRUE か FALSE の二値に限って書くことになろうが、往々にして、
APIなどでは、「真」の意味で「非0」の値を返してくること関数が含まれて
しまっている。
だから、勘違いや混乱が起き易い。
そのため、if ( b == TRUE ) というのは、絶対にやめておいたほうが良い書き方
となる。
b が TRUE ではないが、真である何らかの値を持っていたときに破綻してしまう。
BOOL b と書いた場合、本人が書いたプログラムでは b は、必ず
TRUE か FALSE の二値に限って書くことになろうが、往々にして、
APIなどでは、「真」の意味で「非0」の値を返してくること関数が含まれて
しまっている。
だから、勘違いや混乱が起き易い。
そのため、if ( b == TRUE ) というのは、絶対にやめておいたほうが良い書き方
となる。
546デフォルトの名無しさん
2020/02/09(日) 18:16:58.01ID:GpaXptWq TRUE/FALSE以外を想定するなら
時と場合による
TRUE/FALSEしか想定しないなら
if (b) / if (!b)
と書くべき
時と場合による
TRUE/FALSEしか想定しないなら
if (b) / if (!b)
と書くべき
547デフォルトの名無しさん
2020/02/09(日) 18:19:53.44ID:TF4jiljH 昔VB6からWinAPI呼ぶときの注意点として本で読んだ気がする
それboolじゃないよね?とは思った
それboolじゃないよね?とは思った
548デフォルトの名無しさん
2020/02/09(日) 18:20:59.38ID:J3Qn0niW549デフォルトの名無しさん
2020/02/09(日) 18:29:21.05ID:J3Qn0niW >>546
排中律が成り立たないからFALSEでないことはTRUEを意味しない。
成功した場合にTRUE、失敗した場合にFALSEを返すという関数がある場合、成功したかどうかは
FALSEでないことではなくTRUEと一致するかどうかで判断しなければならない。
排中律が成り立たないからFALSEでないことはTRUEを意味しない。
成功した場合にTRUE、失敗した場合にFALSEを返すという関数がある場合、成功したかどうかは
FALSEでないことではなくTRUEと一致するかどうかで判断しなければならない。
550デフォルトの名無しさん
2020/02/09(日) 18:29:23.53ID:cYNa4VVg >>548
!(b != TRUE)。
!(b != TRUE)。
551デフォルトの名無しさん
2020/02/09(日) 18:30:08.13ID:aEgJYC9i552デフォルトの名無しさん
2020/02/09(日) 18:30:08.50ID:6++kPC7v553デフォルトの名無しさん
2020/02/09(日) 18:36:27.78ID:J3Qn0niW554デフォルトの名無しさん
2020/02/09(日) 18:42:52.19ID:cYNa4VVg いやちゃうねん。
555デフォルトの名無しさん
2020/02/09(日) 18:59:34.88ID:aEgJYC9i intの取り得る値の集合に対し、TRUEの定義が-93でありかつそれ以外は偽と解釈をせよと仕様に書いてあったら
さすがに(b == TRUE)とか(b != TRUE)書くことを現実の選択肢として考慮せざるおえない
もちろんそんな仕様が糞だが、仕様なのだからしようが無い
数学の本質は自由性にある、
さすがに(b == TRUE)とか(b != TRUE)書くことを現実の選択肢として考慮せざるおえない
もちろんそんな仕様が糞だが、仕様なのだからしようが無い
数学の本質は自由性にある、
556デフォルトの名無しさん
2020/02/09(日) 19:07:50.42ID:mORiFTgk557デフォルトの名無しさん
2020/02/09(日) 19:15:36.19ID:PT76WH2y FALSEは定数
TRUEは範囲で観測によって収束する
適性に乏しいやつには厳しいよな
TRUEは範囲で観測によって収束する
適性に乏しいやつには厳しいよな
558デフォルトの名無しさん
2020/02/09(日) 19:16:00.10ID:mORiFTgk boolからBOOLになってintになってた
559デフォルトの名無しさん
2020/02/09(日) 19:16:09.28ID:MeV8oXxA 集合B={FALSE=0,TRUE=1} の場合 !FALSE=TRUE だが
B'={FALSE=0,TRUE1=1,TRUE2=2,TRUE3=3} の場合
!FALSE={TRUE1,TRUE2,TRUE3} となる
しかし TRUE={TRUE1,TRUE2,TRUE3} と定義すると
B''={FALSE=0,TRUE} となり、同型B≡B'が示されるため、B'をboolとみなすことは可能である
ただし、比較演算子は集合として同値であるのか、集合に含まれるのかを示さなければならない
b⊂B'(≡B) のとき、 b=FALSE は一意だが、b=TRUE は b=1∩b=2∩b=3 を示す
B'={FALSE=0,TRUE1=1,TRUE2=2,TRUE3=3} の場合
!FALSE={TRUE1,TRUE2,TRUE3} となる
しかし TRUE={TRUE1,TRUE2,TRUE3} と定義すると
B''={FALSE=0,TRUE} となり、同型B≡B'が示されるため、B'をboolとみなすことは可能である
ただし、比較演算子は集合として同値であるのか、集合に含まれるのかを示さなければならない
b⊂B'(≡B) のとき、 b=FALSE は一意だが、b=TRUE は b=1∩b=2∩b=3 を示す
560デフォルトの名無しさん
2020/02/09(日) 19:17:37.19ID:mORiFTgk 数学関係ないのに数学ネタでひっぱってるヤツがいるな
IDは違うけど同じ人?
数学関係ないから
IDは違うけど同じ人?
数学関係ないから
561デフォルトの名無しさん
2020/02/09(日) 19:18:03.88ID:6++kPC7v562デフォルトの名無しさん
2020/02/09(日) 19:18:39.73ID:cYNa4VVg ちゃうねんちゃうねん。
563デフォルトの名無しさん
2020/02/09(日) 19:19:01.31ID:MeV8oXxA 訂正
b=1∩b=2∩b=3
→b=1∪b=2∪b=3
b=1∩b=2∩b=3
→b=1∪b=2∪b=3
564デフォルトの名無しさん
2020/02/09(日) 19:22:41.80ID:qoRTNAXH グローバル領域にインスタンスを作って、初期化はmain()の中でしたいとします。
で、初期化に必要な情報はmain()の中で初めて分かるとします。
こういうときってそのクラスのコンストラクタとしては何もしないものを作っておいて、初期化用の関数を別途用意するというのが普通ですか?
インスタンスの宣言だけしておいてコンストラクタは後で呼ぶなんてできないですよね?
で、初期化に必要な情報はmain()の中で初めて分かるとします。
こういうときってそのクラスのコンストラクタとしては何もしないものを作っておいて、初期化用の関数を別途用意するというのが普通ですか?
インスタンスの宣言だけしておいてコンストラクタは後で呼ぶなんてできないですよね?
565デフォルトの名無しさん
2020/02/09(日) 19:23:38.68ID:mORiFTgk ポインタにしとけ
566デフォルトの名無しさん
2020/02/09(日) 19:29:17.77ID:J3Qn0niW567デフォルトの名無しさん
2020/02/09(日) 19:30:00.78ID:aEgJYC9i std::unique_ptr<T>の出番
568デフォルトの名無しさん
2020/02/09(日) 19:30:50.97ID:bHnzUNQO apiの仕様見て適切に処理で終わる話だろこれ
569デフォルトの名無しさん
2020/02/09(日) 19:37:32.03ID:54+KBSAm optionalの出番だろ
570デフォルトの名無しさん
2020/02/09(日) 19:39:43.34ID:OliK3lJl >>568
同意
同意
571デフォルトの名無しさん
2020/02/09(日) 19:45:02.77ID:6++kPC7v572デフォルトの名無しさん
2020/02/09(日) 19:45:29.20ID:6++kPC7v >>568に一票
573デフォルトの名無しさん
2020/02/09(日) 19:47:47.73ID:mORiFTgk もともとはboolの話だったのに
574デフォルトの名無しさん
2020/02/09(日) 19:49:14.41ID:VD5bohdG GetGlyphOutline などで文字画像を取り出そうとすると、フォントが持ってない文字は代わりの文字を出力してくる。
(例えば、昔の毛筆フォントでは「(はしご高)」などはMSゴシックになる。)
これを抑制したいので、そのフォントがグリフデータを持っているかどうか、調べる方法はありますでしょうか?
(例えば、昔の毛筆フォントでは「(はしご高)」などはMSゴシックになる。)
これを抑制したいので、そのフォントがグリフデータを持っているかどうか、調べる方法はありますでしょうか?
575デフォルトの名無しさん
2020/02/09(日) 19:50:25.08ID:mORiFTgk C++の相談?
576デフォルトの名無しさん
2020/02/09(日) 19:52:53.59ID:J3Qn0niW577デフォルトの名無しさん
2020/02/09(日) 19:54:35.07ID:bHnzUNQO >>574
ここよりwindows apiのスレのがいいんじゃないかな
ここよりwindows apiのスレのがいいんじゃないかな
578デフォルトの名無しさん
2020/02/09(日) 20:00:40.91ID:6++kPC7v >>576
もしかして(ことが多い)っていう意味もわかってないのか?
もしかして(ことが多い)っていう意味もわかってないのか?
579デフォルトの名無しさん
2020/02/09(日) 20:05:04.78ID:54+KBSAm win32は変な仕様多いからAPIの仕様確認しないと罠にはまる
580デフォルトの名無しさん
2020/02/09(日) 20:05:21.07ID:J3Qn0niW 多い方に合わせろって話でもないだろう。
>>568の通りそれぞれの仕様に合わせて適切に扱えってこと。
>>568の通りそれぞれの仕様に合わせて適切に扱えってこと。
581デフォルトの名無しさん
2020/02/09(日) 20:05:58.49ID:PT76WH2y >>579
ほんこれ
ほんこれ
582デフォルトの名無しさん
2020/02/09(日) 20:07:59.65ID:54+KBSAm GetModuleFileNameとか仕様作った奴のセンスを疑う
583デフォルトの名無しさん
2020/02/09(日) 20:20:16.24ID:6++kPC7v584デフォルトの名無しさん
2020/02/09(日) 20:30:08.24ID:J3Qn0niW なら問題ないケースもあることを理解してるわけだ。だとすると>>552で指摘してたのはなんだろうと。
585デフォルトの名無しさん
2020/02/09(日) 20:34:19.93ID:6++kPC7v >>584
えっ?
まだ(ことが多い)ってわざわざ書いてる意味がわからんのか?
まともな奴と会話してる時ならいちいち書かないんだが、ネット掲示板なのでわけわからん奴に絡まれないようにわざわざ書いたのに想定外の低能さんなの?
えっ?
まだ(ことが多い)ってわざわざ書いてる意味がわからんのか?
まともな奴と会話してる時ならいちいち書かないんだが、ネット掲示板なのでわけわからん奴に絡まれないようにわざわざ書いたのに想定外の低能さんなの?
586デフォルトの名無しさん
2020/02/09(日) 20:46:39.77ID:J3Qn0niW587デフォルトの名無しさん
2020/02/09(日) 20:52:41.00ID:mORiFTgk bがTRUEと一致する条件の話はしてなくて
boolに対するif文をどう書くかの話だろ
APIの使い方なら他スレでやって
boolに対するif文をどう書くかの話だろ
APIの使い方なら他スレでやって
588デフォルトの名無しさん
2020/02/09(日) 20:55:58.33ID:PT76WH2y 余所でやれって、APIと言語仕様のズレの話だろ
正しい理解はどのようなものかという興味は
スレ違いじゃねえぞ
正しい理解はどのようなものかという興味は
スレ違いじゃねえぞ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- 高市が早くあの発言を撤回しないと、中国からもっと大きな制裁が飛んでくるぞ [805596214]
- 【動画】ファッションモデルまんこ、裸でランウェイを歩く。これがファッションだと言われて [749674962]
- 【画像】髙市さん「無職のシンママ支援を手厚くするため、世帯年収900万円以上の控除をカットします🙂」 [881878332]
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
