探検
C++相談室 part152
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/07/12(日) 13:42:20.13ID:TX1mpKr62020/07/12(日) 13:42:53.37ID:TX1mpKr6
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part151
https://mevius.5ch.net/test/read.cgi/tech/1589424805/
このスレもよろしくね。
【初心者歓迎】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/ (日本語)
テンプレここまで
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part151
https://mevius.5ch.net/test/read.cgi/tech/1589424805/
このスレもよろしくね。
【初心者歓迎】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/ (日本語)
テンプレここまで
2020/07/12(日) 13:47:57.74ID:CSJoJ4mx
STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
2020/07/12(日) 14:06:26.23ID:tkU6cDNN
>>3
void君まだ生きてたの?
void君まだ生きてたの?
2020/07/12(日) 19:59:20.10ID:7bgQZ4MZ
-Wl,--start-groupって-Wl,--end-groupで閉じなくてもいいの?
2020/07/12(日) 22:51:08.59ID:CSJoJ4mx
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします!
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします!
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします!
2020/07/13(月) 04:14:20.50ID:3a05UOb2
ある整数nが他の整数の4乗数であることも確かめられない奴らが常駐してるC++スレに何の意味があるのだろうか、、、
素直にsqrtなりpowなり使えば良いのに無意味に二分探索とか言い出す奴まで現れる始末
素直にsqrtなりpowなり使えば良いのに無意味に二分探索とか言い出す奴まで現れる始末
8デフォルトの名無しさん
2020/07/13(月) 10:33:53.39ID:WBkWHxcT #include <stdafx.h> が入ってると消したくなる
9デフォルトの名無しさん
2020/07/13(月) 10:35:47.94ID:WBkWHxcT2020/07/13(月) 12:07:41.92ID:a0LpYw/5
>>8
VS2019だと入らないぞ
VS2019だと入らないぞ
2020/07/13(月) 12:09:59.97ID:WBkWHxcT
それ5ちゃんは2ちゃんじゃない5ちゃんだってのと同じ匂いがする
2020/07/13(月) 17:47:10.79ID:17o/9bhC
2020/07/13(月) 18:28:35.47ID:fGz9l1yv
4乗数は例えばmod5で必ず0か1なので234だったら弾ける
他にもいろんなmod使ってアーリーリジェクトするのが速い
まあそれだけで判定はできないから最後は真面目に確かめるんだけど
他にもいろんなmod使ってアーリーリジェクトするのが速い
まあそれだけで判定はできないから最後は真面目に確かめるんだけど
2020/07/13(月) 19:32:08.80ID:5XlUrV9a
整数の4乗だろ?
どのレンジの値までサポートする必要があるのか
この辺に意識行かないやつは初級者
どのレンジの値までサポートする必要があるのか
この辺に意識行かないやつは初級者
2020/07/13(月) 22:49:46.38ID:vn0aaIQL
>>12
知ってた
知ってた
2020/07/13(月) 23:35:03.61ID:hjMalhfu
template <class R>
R hoge(std::function<R(int)> func, int val) {
return func(val);
}
みたいな、std::functionの戻り値の型がテンプレートな関数があったときに、第一引数のfuncに渡す引数を
「std::function<int(int)> f = [](auto a) {return 10 * a; }」
と明示的に「std::function」にすると、Rも型推論が効いて「hoge(f, 10)」と呼べますが
ラムダ式を直接渡すと、Rの型推論が働かず「hoge<int>([](auto a){...}, 10);」と
テンプレートの型を明示しない限り、MSVC2019(std:c++latest)ではコンパイルエラーになります。
こういう場合にラムダ式から型を推論できる関数を作る方法ってないですかね?
ラムダ式がいければ、std::functionは渡せなくなってもいいのですが。
R hoge(std::function<R(int)> func, int val) {
return func(val);
}
みたいな、std::functionの戻り値の型がテンプレートな関数があったときに、第一引数のfuncに渡す引数を
「std::function<int(int)> f = [](auto a) {return 10 * a; }」
と明示的に「std::function」にすると、Rも型推論が効いて「hoge(f, 10)」と呼べますが
ラムダ式を直接渡すと、Rの型推論が働かず「hoge<int>([](auto a){...}, 10);」と
テンプレートの型を明示しない限り、MSVC2019(std:c++latest)ではコンパイルエラーになります。
こういう場合にラムダ式から型を推論できる関数を作る方法ってないですかね?
ラムダ式がいければ、std::functionは渡せなくなってもいいのですが。
2020/07/14(火) 00:18:40.13ID:zGM7yt58
aがintであることはどこから推定するの?
2020/07/14(火) 01:20:42.44ID:BX6Ieja2
難しく考えすぎ
template <class F>
auto hoge(F func, int val) { return func(val); }
template <class F>
auto hoge(F func, int val) { return func(val); }
2020/07/14(火) 07:41:56.85ID:XNlphOJb
[](auto a) -> int {return 10 * a; }
[](auto a) -> std::common_type_t<int, decltype(a)> {return 10 * a; }
[](auto a) -> std::common_type_t<int, decltype(a)> {return 10 * a; }
2020/07/14(火) 19:51:39.83ID:XydZfji4
>>17-19
ありがとうございます。やりたかったことができました。
ラムダだからって変にstd::functionとか入れずに、関数まるごとテンプレートに委ねればよかったんですね。
どうも関数を特別視してしまっていたようです。
ありがとうございます。やりたかったことができました。
ラムダだからって変にstd::functionとか入れずに、関数まるごとテンプレートに委ねればよかったんですね。
どうも関数を特別視してしまっていたようです。
2020/07/20(月) 23:03:27.73ID:6gjYUAkG
保守
2020/07/22(水) 21:14:41.10ID:KUJQPOij
std::list<int> l = {0, 1, 2};
auto it = l.begin();
// auto x = move(*it);
l.erase(it);
// この後 x にムーブしてればいいけど it を参照するのは未定義動作?
// pop が削除した要素を返してくれればいいのに
auto it = l.begin();
// auto x = move(*it);
l.erase(it);
// この後 x にムーブしてればいいけど it を参照するのは未定義動作?
// pop が削除した要素を返してくれればいいのに
2020/07/22(水) 21:27:49.98ID:ZfR2rpjD
>>22
まるで正常
まるで正常
2020/07/22(水) 23:12:53.61ID:tg3nt/Qu
コマンドライン引数でブーリアン渡したいときってどうするん
2020/07/22(水) 23:46:58.46ID:xb0kAqoI
コマンドライン引数は文字列
boolとかintとか渡せない
「"1000"を1000と解釈してintを渡せる」って言うなら、
同様に"true","false"を解釈すればいい
boolとかintとか渡せない
「"1000"を1000と解釈してintを渡せる」って言うなら、
同様に"true","false"を解釈すればいい
26デフォルトの名無しさん
2020/07/23(木) 00:41:36.09ID:4rdlbzE6 getopt
2020/07/23(木) 06:09:28.37ID:fF4wk4d/
オプション文字列を渡す作法のような話なら
-f1, -f0 や --flag, --no-flag の形で渡すかな。
簡易的には -f と指定すれば有効、指定しなければ無効、って感じ。
-f1, -f0 や --flag, --no-flag の形で渡すかな。
簡易的には -f と指定すれば有効、指定しなければ無効、って感じ。
28デフォルトの名無しさん
2020/07/23(木) 08:45:05.41ID:SrgI206W 結局はORマッパーのような問題に行きつく
2020/07/25(土) 02:54:53.84ID:hso1irDO
お前らってマゾだよね
2020/07/27(月) 02:23:48.14ID:kndJPXCH
ある変数に対してプロセスAからは書き込みしかしないで別プロセスBは読み込みしかしない場合
この変数に対してstd::atomic<>する必要ありますか?
この変数に対してstd::atomic<>する必要ありますか?
2020/07/27(月) 02:50:40.88ID:OPuipBq/
あります
2020/07/27(月) 03:16:39.82ID:iDNWe3mh
>>30
プロセスとスレッドの違いは理解している?
プロセスとスレッドの違いは理解している?
2020/07/27(月) 05:33:26.23ID:EghVn5lV
「プロセス」は「スレッド」と読み替えるとして
自前で排他してもいいし
「ある変数」が例えばintで今のPCのCPUなら元々アトミック
そういう意味では「std::atomic<>する必要」はないよ
自前で排他してもいいし
「ある変数」が例えばintで今のPCのCPUなら元々アトミック
そういう意味では「std::atomic<>する必要」はないよ
2020/07/27(月) 07:02:13.52ID:QTF0cexn
すstd::atomic<>なら型に応じた特殊化がなされていることが気体できるのでは知らんけど
ていうかTによらずアクセスの度に馬鹿正直にcritical sectionに出入りされる実装だったら嫌すぐる、、、
アーキテクチャーに応じて確実に作動するDouble-Checked LockingとかTripple-Checked Lockingとかになって
最適なパフォーマンスが出るコードにしていただける処理系であってホスイ
ていうかTによらずアクセスの度に馬鹿正直にcritical sectionに出入りされる実装だったら嫌すぐる、、、
アーキテクチャーに応じて確実に作動するDouble-Checked LockingとかTripple-Checked Lockingとかになって
最適なパフォーマンスが出るコードにしていただける処理系であってホスイ
2020/07/27(月) 07:31:29.47ID:9eU73XOZ
>>30
別途排他制御をしていないなら、コンパイル時や実行時に勝手に実行順序並び替えて誤動作する可能性があるから、atomicにしておいたほうがええよ
別途排他制御をしていないなら、コンパイル時や実行時に勝手に実行順序並び替えて誤動作する可能性があるから、atomicにしておいたほうがええよ
2020/07/27(月) 08:17:24.84ID:7+Lkkq8+
読み込む側が壊れた値でも構わないなら要らない
2020/07/27(月) 08:47:53.90ID:eo3eOCcP
>>36 未定義動作の結果はそれだけでは済まないかもしれない。
2020/07/27(月) 11:14:28.62ID:vNtx9fDh
DRAMがリフレッシュされなくなるとかか
2020/07/27(月) 11:45:04.43ID:HTI8upPJ
プロセスならOS提供の共有メモリ使うから、未定義動作の範疇外じゃね
2020/07/27(月) 12:06:22.37ID:arCdAL0/
2020/07/27(月) 20:51:46.94ID:EghVn5lV
2020/07/27(月) 22:29:41.65ID:SfaUTK+M
2020/07/27(月) 23:14:45.53ID:OPuipBq/
コンパイラが独自仕様で明示的に保証してるなら別にいいよ
特に何も書いてないなら保証されてないと思うべき
特に何も書いてないなら保証されてないと思うべき
2020/07/27(月) 23:30:43.14ID:arCdAL0/
>>42
x86だと即値の場合16bit x2のコードが吐かれる場合があるらしいよ
x86だと即値の場合16bit x2のコードが吐かれる場合があるらしいよ
45デフォルトの名無しさん
2020/07/28(火) 15:19:44.89ID:XpAjM/1U46デフォルトの名無しさん
2020/07/28(火) 15:58:37.01ID:2ZofU2zv forで少しの(255以下)ループ回すときにint i=0;i<10;++iとかするけどなんで
2バイトのintでとって1バイトのunsigned charじゃあまり取らないんだろ?
(typedefで宣言すればタイプ数少なくできるし・・・)
2バイトのintでとって1バイトのunsigned charじゃあまり取らないんだろ?
(typedefで宣言すればタイプ数少なくできるし・・・)
47デフォルトの名無しさん
2020/07/28(火) 16:02:12.30ID:0Pr5T/O4 unsigned char でループしても良いけど
結局 int にされるでしょ
それより int が 2byte っていつの話よ
結局 int にされるでしょ
それより int が 2byte っていつの話よ
48デフォルトの名無しさん
2020/07/28(火) 16:05:58.50ID:2ZofU2zv2020/07/28(火) 16:12:26.94ID:JnUAmZD/
>>48
charは算術式の中ではintに拡張されるって話だ
char a, b;
printf("%u", sizeof(a)); //1, これは左辺値で算術式ではない
printf("%u", sizeof(a - b)); //2, 減算の算術式
printf("%u", sizeof(+a)); //2, 単項プラスの算術式
charは算術式の中ではintに拡張されるって話だ
char a, b;
printf("%u", sizeof(a)); //1, これは左辺値で算術式ではない
printf("%u", sizeof(a - b)); //2, 減算の算術式
printf("%u", sizeof(+a)); //2, 単項プラスの算術式
50デフォルトの名無しさん
2020/07/28(火) 16:16:35.96ID:2ZofU2zv■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 地震 [Hitzeschleier★]
- なあ、「石破さんにもう一回やって頂く」って選択肢って…ないか? [976717553]
- 仮に放射線混ざってたとしてもテムとアリエク使うわ
- おまえらはスマホ何年でダメにしてる?
- ドーは
- 親父が同級生(クラスの真面目委員長JK)の母親と結婚した。ウソじゃない。事実なんだ
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
