探検
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
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★3 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★5 [Hitzeschleier★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- 竹中平蔵「日米が長年守り続けてき台湾有事に関する曖昧戦略の知恵を一瞬にして無にさせた岡田の責任は非常に重い」 [271912485]
- 大谷翔平みたいな女wwwwwwwwwwwwwwwwwwwww
- (´・ω・`)おっはー
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- JR赤羽駅の東口を出たらそこはアタシの庭…
- 今年の漢字はおそらく「肛門」
