C++相談室 part141

■ このスレッドは過去ログ倉庫に格納されています
2019/02/22(金) 03:07:43.52ID:MgOIx7iK
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
C++相談室 part140
https://mevius.5ch.net/test/read.cgi/tech/1547326582/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/

■長いソースを貼るときはここへ。■
 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
2デフォルトの名無しさん
垢版 |
2019/02/22(金) 05:33:28.83ID:7jsMxmv+
Cの場合は
#define BIT(n) (1<<n)
if(data & BIT(3)){ data &=~BIT(3); }
みたいなやり方をするんだが、C++の場合は#defineは使わない方がいいらしいけどどういう書き方が
一般的なのだろう。
3デフォルトの名無しさん
垢版 |
2019/02/22(金) 05:43:25.43ID:kNNcPZDM
inlineにしてる。
2019/02/22(金) 05:45:32.03ID:9HNz13T8
そういう場合にマクロ使うなと言われるのは、単にインライン関数にした方がややこしいバグを産みにくいってだけ
別にどっちでもいい
5デフォルトの名無しさん
垢版 |
2019/02/22(金) 05:51:49.61ID:kNNcPZDM
そろそろonline関数も必要だよな。
2019/02/22(金) 06:59:58.96ID:uV/D6RzS
マクロ関数 BIT() の部分、マスク生成をinline関数にするか、
引数を2つ取って、整数値の指定ビットを落とした値を返すinline関数にするか、
if ~ の部分まで含めて、変数の指定ビットを落とすinline関数にするか…。

と思ってちょいと考えたら、この場合は if 不要と気づいた。
最初から 0 か、ビット操作の結果か、いずれにせよ data の bit3 は 0 になるね。
本筋とは関係ない部分だけど。
7デフォルトの名無しさん
垢版 |
2019/02/22(金) 08:00:05.86ID:7jsMxmv+
>>3
inline関数ですか?
constexperでも関数は作れると思いますが、inlineの方がベターなのでしょうか?
constexper int BIT(int bitno){ return 1<<bitno;}

usingを使ってこんな書き方ができますが、マクロの変換はできないのでしょうか?
using Func = int(*)(int);

あとtemplateはあまり使ったことがないですが、なんかマクロ変換に使えそうな気がします。
2019/02/22(金) 08:17:36.02ID:9HNz13T8
constexprは暗黙的にinlineつくからconstexprでもいい

using Funcの部分は根本的に勘違いしてると思う
それの場合intを受け取りintを返す関数のポインタの"型"に
Funcという別名つけてるだけやで
2019/02/22(金) 08:29:39.37ID:9HNz13T8
あと前スレ>>999
PCゲームやスマホゲーでも、STL使おうが使わまいが標準のヒープを直接は使わないことはよくあるよ
コンシューマへの移植性やパフォーマンスのためにカスタムのメモリマネージャ作ってるメーカーなんてザラにある
PCだから/メモリ有り余ってるからお仕着せのライブラリを適当に使うだけでいい、と思ってるなら何も分かってない
2019/02/22(金) 08:34:10.02ID:nGlWTBX9
現実の開発では、とりあえず動くようにしてから余った時間で最適化したほうが速くなるんだけどね
2019/02/22(金) 08:39:17.41ID:nqPCiyAK
まぁオブジェクトコードから臭いを嗅ぎ取った事は
無いな、感じられる人は耳鼻科行った方が良いかと
2019/02/22(金) 09:28:57.73ID:15zpzt8/
>>9
スレ跨ぐなカス
いつゲームの話なんかしたんですかねえ???????
それともゲームしか入ってないんですか?????????
2019/02/22(金) 09:55:02.52ID:n7WbXSSq
>>9だけど、俺前スレ>>996じゃないよ
14デフォルトの名無しさん
垢版 |
2019/02/22(金) 17:51:49.69ID:PtH+29Wq
「C」からって限定条件なら tcl/tk + canvas はありだと思うが
別に tcl の勉強しなくても使えるし
2019/02/22(金) 19:08:44.27ID:zu/11utG
Cから tcl/tk はどうやって使うの?
16デフォルトの名無しさん
垢版 |
2019/02/22(金) 19:16:25.53ID:kNNcPZDM
ワイドスタジオ使っちゃえば?
2019/02/23(土) 10:20:57.99ID:zem2FMDi
void ff()
{
std::packaged_task<int()> pt([](){std::this_thread::sleep_for(std::chrono::seconds(5));return 0;});
auto fut(pt.get_future());

std::thread th(std::move(pt));
th.detach();

//int v(fut.get());
}

上記のように、taskの完了を待機せず、packaged_taskの寿命が尽きても実行時にエラーも出ないのですが
このようなプログラムはありですか
18デフォルトの名無しさん
垢版 |
2019/02/23(土) 11:42:14.30ID:+DV3f+Dk
そいつにリソース占領させてみればいい
2019/02/23(土) 12:14:03.42ID:zem2FMDi
解決しました
20デフォルトの名無しさん
垢版 |
2019/02/23(土) 18:45:10.43ID:3YtKndGk
紅蓮弐式のほうが強い。
ハイ論破。
21デフォルトの名無しさん
垢版 |
2019/02/24(日) 14:23:19.37ID:YwY0sV++
C++ を使っても綺麗にならない
C++ を使ってる意味が無い
22デフォルトの名無しさん
垢版 |
2019/02/24(日) 19:25:23.97ID:iK4D+UQi
C++に綺麗さを求めるの初めて見た。
2019/02/24(日) 20:13:55.34ID:+qyzr+Wj
最低でもインデントくらい揃えてほしいけどな
2019/02/24(日) 21:31:26.79ID:BOQZpNHf
揃えさせられるPythonの読みにくさを見るとある程度柔軟な方がいい
2019/02/24(日) 23:59:09.46ID:haqs87u6
>>24
お、おう
26デフォルトの名無しさん
垢版 |
2019/02/25(月) 00:01:28.93ID:Jz0DexUX
つまりJavaか。
2019/02/25(月) 01:25:43.15ID:Jktx5+0Z
なんでやねん
2019/02/25(月) 01:34:14.73ID:1EOktSCH
ランタイム速度最速を謳ってバカに新機能の実験台になってもらう。
それがc++
2019/02/25(月) 06:06:13.74ID:pgIYnQ9M
>>22
ん?
普通に求めるでしょ?
見栄えとかアルゴリズムとか
2019/02/25(月) 06:43:23.26ID:AQp51hox
Most elementary use of C++
2019/02/25(月) 07:14:51.09ID:RhTHp1T7
>>29
多分そういう意味じゃない
32デフォルトの名無しさん
垢版 |
2019/02/25(月) 07:40:11.99ID:4l/+z2Zp
古いサイトとか見てるとグローバルな関数に::ってつけるこだわりがよくわからん
::CreateProcessとかさ
2019/02/25(月) 08:14:06.58ID:0evRXBiA
>>32
自分の定義した関数にはつけず、win32api には付けて区別しています…
2019/02/25(月) 09:12:10.78ID:RhTHp1T7
公式「バランス調整はVIP部屋を参考にする」
桜井「○○の使用率ガー」

アホ「調整はVIPの使用率できめるらしい」←????
2019/02/25(月) 09:12:42.56ID:RhTHp1T7
誤爆
2019/02/25(月) 10:45:46.00ID:rMTHv0xs
>>32
大規模開発ならスコープ明示するのはよくやること
std省略NGのとこも珍しくないしな
2019/02/25(月) 12:17:07.75ID:y5m/9TYH
>>31
だから綺麗さなんて曖昧な表現だけだと突っ込まれるって話
38デフォルトの名無しさん
垢版 |
2019/02/25(月) 18:50:34.75ID:Jz0DexUX
では評価関数を。
2019/02/25(月) 23:50:43.17ID:sPAFtFpG
double の 999999998 と 999999999 の積が正しい答えである 999999997000000002 じゃなくて 999999997000000000 になります

なんででしょうか
double の範囲に余裕でおさまってますよね?
2019/02/26(火) 00:18:43.14ID:belfWXD5
仮数部の最大値9007199254740992を超えているから
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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