探検
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:2ZofU2zv2020/07/28(火) 16:18:26.72ID:JnUAmZD/
>>46
charの拡張はcpu内部のレジスタで行われるだけで
メモリにはその痕跡が残らない
だからintをunsigned charにすればメモリを節約する効果は
期待できる(ただし保証はされない)
俺も実はforの制御変数は[0, 256)の範囲内でもintを使うが
正直に本音を言うと長い長いtypedef unsigned charをタイプせずに
短くintで済むからだ
普段建前ではintは自然なサイズの整数だからとか言い訳してるけどね
charの拡張はcpu内部のレジスタで行われるだけで
メモリにはその痕跡が残らない
だからintをunsigned charにすればメモリを節約する効果は
期待できる(ただし保証はされない)
俺も実はforの制御変数は[0, 256)の範囲内でもintを使うが
正直に本音を言うと長い長いtypedef unsigned charをタイプせずに
短くintで済むからだ
普段建前ではintは自然なサイズの整数だからとか言い訳してるけどね
52デフォルトの名無しさん
2020/07/28(火) 16:20:24.69ID:2ZofU2zv53デフォルトの名無しさん
2020/07/28(火) 16:23:12.92ID:tckSAZy52020/07/28(火) 16:23:36.08ID:JnUAmZD/
>>50
されるよ
たとえば、こういう場合
char c = 0;
c = c | 1;
部分式 c | 1 は ((int)c) | 1 で計算され結果はint
c = (char)結果; という具合にcharに戻して書き込む
c は00000000
c | 1 は0000000000000001
=は00000001にしてからを書き込む
一旦intにされたものをcharに戻して書き込んでいるが
普段はこのことを忘れていても正しいコードが書けてしまう
されるよ
たとえば、こういう場合
char c = 0;
c = c | 1;
部分式 c | 1 は ((int)c) | 1 で計算され結果はint
c = (char)結果; という具合にcharに戻して書き込む
c は00000000
c | 1 は0000000000000001
=は00000001にしてからを書き込む
一旦intにされたものをcharに戻して書き込んでいるが
普段はこのことを忘れていても正しいコードが書けてしまう
2020/07/28(火) 16:27:57.80ID:JnUAmZD/
おっと、ここC++スレやん
Cスレのつもりだったw
C++の場合はここ気をつけて
void func(char); //#1
void func(int); //#2
char c = 0;
func(c | 1); //#2
Cスレのつもりだったw
C++の場合はここ気をつけて
void func(char); //#1
void func(int); //#2
char c = 0;
func(c | 1); //#2
56デフォルトの名無しさん
2020/07/28(火) 16:28:23.54ID:2ZofU2zv57デフォルトの名無しさん
2020/07/28(火) 16:29:57.66ID:2ZofU2zv2020/07/28(火) 16:36:03.22ID:Vr5x1U6Z
>>51-52
「メモリを節約する効果は期待できる(ただし保証はされない)」っていうより
「メモリを節約する効果は期待できない(ただし可能性はゼロではない)」でしょ。
ほんとうにメモリ節約のためにやるなら実測のうえ結果をコメントで添えてたのむ。
「メモリを節約する効果は期待できる(ただし保証はされない)」っていうより
「メモリを節約する効果は期待できない(ただし可能性はゼロではない)」でしょ。
ほんとうにメモリ節約のためにやるなら実測のうえ結果をコメントで添えてたのむ。
2020/07/28(火) 16:41:14.06ID:JnUAmZD/
60デフォルトの名無しさん
2020/07/28(火) 16:43:35.65ID:XpAjM/1U (ただし可能性はゼロではない)
2020/07/28(火) 16:51:19.06ID:FdPQCZeu
>>56
char使ってメモリ節約ってのは基本的にクラス・構造体のメンバとか配列、かつそれらが多用される場合ね
単発の一時変数をcharにしたところでそれがスタックに置かれたとしてもアライメントで何も節約できてないどころか
整数拡張のオーバヘッドで逆に非効率になる
引数にchar使うのも性能上は意味がない
組み込みマイコンなら特に逆アセは読めるようになった方がいいよ
char使ってメモリ節約ってのは基本的にクラス・構造体のメンバとか配列、かつそれらが多用される場合ね
単発の一時変数をcharにしたところでそれがスタックに置かれたとしてもアライメントで何も節約できてないどころか
整数拡張のオーバヘッドで逆に非効率になる
引数にchar使うのも性能上は意味がない
組み込みマイコンなら特に逆アセは読めるようになった方がいいよ
62デフォルトの名無しさん
2020/07/28(火) 17:03:52.96ID:2ZofU2zv ちょっと追加で調べて納得したのはcharを扱うメリットとしては
int ポインタ型に +1 した際、何バイト進むのかは処理系に依存するけど
char ポインタ型なら必ず1バイトだけ進むから
その場合においてメリットがあるからchar使えってことですかね?
int ポインタ型に +1 した際、何バイト進むのかは処理系に依存するけど
char ポインタ型なら必ず1バイトだけ進むから
その場合においてメリットがあるからchar使えってことですかね?
63デフォルトの名無しさん
2020/07/28(火) 17:08:44.62ID:XpAjM/1U >>62
それ最初の質問と何か関係あるか?
それ最初の質問と何か関係あるか?
2020/07/28(火) 17:15:03.80ID:JnUAmZD/
2020/07/29(水) 00:51:49.61ID:YVVFldw+
デバッガでトレースしながら読むから逆アセだな
アセンブラ吐かせるってそれ用にビルド設定用意するのか?
アセンブラ吐かせるってそれ用にビルド設定用意するのか?
2020/07/29(水) 04:47:56.76ID:8sSsdFab
泥縄で設定変えるのイヤだから
端っからアセンブラ経由にしてる
端っからアセンブラ経由にしてる
2020/07/30(木) 06:46:58.19ID:82YOHtIh
C++でUnicodeを扱いたいんですがライブラリを探したほうが良いですか?
なにか定番のライブラリありませんか?
なにか定番のライブラリありませんか?
2020/07/30(木) 07:59:44.22ID:h+N/x6i+
ICU一択でしょ
2020/07/30(木) 21:53:30.81ID:82YOHtIh
70デフォルトの名無しさん
2020/07/31(金) 10:43:54.52ID:N0eufbNj 逼迫中
71デフォルトの名無しさん
2020/07/31(金) 13:57:05.58ID:RNPOl6hd 学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
UIライブラリ (C#, 2D) を作ったよ
連続と離散を統一した!
4Dエンジン
matrixのライブラリ
ある強力なFor関数
SQLライブラリ
☆ VM + ASM を書いた (C#, DX) * x86 ではない!
ttp://up.x0000.net/files/TSimulang.zip
☆ malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
UIライブラリ (C#, 2D) を作ったよ
連続と離散を統一した!
4Dエンジン
matrixのライブラリ
ある強力なFor関数
SQLライブラリ
☆ VM + ASM を書いた (C#, DX) * x86 ではない!
ttp://up.x0000.net/files/TSimulang.zip
☆ malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
2020/08/08(土) 00:45:58.56ID:0OMeneB5
保守
2020/08/10(月) 15:43:27.57ID:fh5hS3eV
UDPで、メッセージをブロードキャストすると該当するコンピューターがユニキャストで応答するんですが、
このとき、シングルスレッドで、ブロッキングでsendでブロードキャストしてすぐにrecvで受信待ちするのは素敵ではないですよね?
このとき、シングルスレッドで、ブロッキングでsendでブロードキャストしてすぐにrecvで受信待ちするのは素敵ではないですよね?
2020/08/10(月) 15:45:49.73ID:fh5hS3eV
UDP でもともとreliableでないですがsendとrecvの間にネットワークスタックが受信したりすると、recvで受信できない?
2020/08/10(月) 15:48:15.44ID:fh5hS3eV
UDPはじめてなんですが、受信を先に立ち上げてから、sendすべきでしょうか?
2020/08/10(月) 16:28:51.88ID:bhDIRnmP
UDPスレで聞け
2020/08/10(月) 18:44:21.00ID:94dKV070
一文で「で」使いすぎ
2020/08/10(月) 21:36:29.55ID:DdNEnUy+
○○で××で△△な□□ってオタクが好む文語でしょww
2020/08/10(月) 22:39:58.88ID:miZfIOtK
それオタクていうか、ラノベ勢やん
80デフォルトの名無しさん
2020/08/12(水) 21:03:47.89ID:CtzJaQ9q std::unordered_mapのキーをstd::stringにして
findで検索する時にstd::string_viewを使って検索したいんだけど、
error C2664 : 'std::string_view' から 'const _Kty &' へ変換できません。
と出てしまいます。
std::unordered_mapの場合ではどうすればいいでしょうか?(´・ω・`)
以下仮コード
std::unordered_map<std::string, int> a;
a.insert_or_assign("AAA", 10);
std::string_view b = "AAA";
std::unordered_map<std::string, int>::iterator it = a.find(b);
findで検索する時にstd::string_viewを使って検索したいんだけど、
error C2664 : 'std::string_view' から 'const _Kty &' へ変換できません。
と出てしまいます。
std::unordered_mapの場合ではどうすればいいでしょうか?(´・ω・`)
以下仮コード
std::unordered_map<std::string, int> a;
a.insert_or_assign("AAA", 10);
std::string_view b = "AAA";
std::unordered_map<std::string, int>::iterator it = a.find(b);
2020/08/12(水) 21:20:56.14ID:3e1Z4brU
>>80 a.find(std::string(b));
82デフォルトの名無しさん
2020/08/12(水) 21:37:06.56ID:CtzJaQ9q >>81
あ・・・・・・(´・ω・`)
できました。ありがとうございます。
ついでに聞きたいのですが、
std::stringに変換することなくfind関数を使用するにはどうすればいいんでしょうか?
std::mapであれば、std::less<>を用いることでfind関数を使用した時std::string_viewでも検索できるようになりますが、
std::unordered_mapの場合はどのようにすればいいんでしょうか?
あ・・・・・・(´・ω・`)
できました。ありがとうございます。
ついでに聞きたいのですが、
std::stringに変換することなくfind関数を使用するにはどうすればいいんでしょうか?
std::mapであれば、std::less<>を用いることでfind関数を使用した時std::string_viewでも検索できるようになりますが、
std::unordered_mapの場合はどのようにすればいいんでしょうか?
2020/08/12(水) 21:43:02.63ID:3e1Z4brU
>>82
https://wg21.link/P0919
https://cpprefjp.github.io/lang/cpp20.html
> 順序付き連想コンテナと同様に、非順序連想コンテナの検索処理で、一時オブジェクトが生成されるコストを抑える拡張を追加。...
https://wg21.link/P0919
https://cpprefjp.github.io/lang/cpp20.html
> 順序付き連想コンテナと同様に、非順序連想コンテナの検索処理で、一時オブジェクトが生成されるコストを抑える拡張を追加。...
84デフォルトの名無しさん
2020/08/12(水) 21:49:15.10ID:CtzJaQ9q85デフォルトの名無しさん
2020/08/13(木) 10:37:08.60ID:m1xh97jB std::unordered_map<const std::string, int> a;
86デフォルトの名無しさん
2020/08/13(木) 11:17:58.00ID:hnCcHlo387デフォルトの名無しさん
2020/08/16(日) 03:35:19.99ID:Qk/OMLZN 今年学生でコロナ下でオンラインばかりなので合間を縫って独学に勤しんでます。
優しいc++を読み終えました
現在atcoderのabcやオライリーから出てるmodern c++ チャレンジ等をやっていますが、何をもってプログラミングが出来ると言うのでしょうか?
テトリス等もサイトを参考に書いたりしてみました。
自分はlinux上で動作する音楽プレイヤーソフトを作成したいと思うのですが、文法等はある程度理解していてもいざ自分で一から作れと言われると出来ません。c/c++で書かれているgithubのソースコード等は読めるんです
読めると言うのは、知らない文法やライブラリ等検索出来るためなんとなく実装内容がわかるって意味です
しかし自分で一からとなると何から始めればいいのか…
皆さんはこの壁をどう超えましたか?それとも壁に出会いませんでしたか?もしそれなりの規模の開発をする際止まった経験があるならばアドバイスを欲しいです
長文すみません
優しいc++を読み終えました
現在atcoderのabcやオライリーから出てるmodern c++ チャレンジ等をやっていますが、何をもってプログラミングが出来ると言うのでしょうか?
テトリス等もサイトを参考に書いたりしてみました。
自分はlinux上で動作する音楽プレイヤーソフトを作成したいと思うのですが、文法等はある程度理解していてもいざ自分で一から作れと言われると出来ません。c/c++で書かれているgithubのソースコード等は読めるんです
読めると言うのは、知らない文法やライブラリ等検索出来るためなんとなく実装内容がわかるって意味です
しかし自分で一からとなると何から始めればいいのか…
皆さんはこの壁をどう超えましたか?それとも壁に出会いませんでしたか?もしそれなりの規模の開発をする際止まった経験があるならばアドバイスを欲しいです
長文すみません
2020/08/16(日) 03:47:01.77ID:Degs0Zl8
初心者は、Ruby on Rails で、web アプリのポートフォリオを作る
むしろ、コーディング・テストよりも、
アプリの設計・構築運用など、Linux の勉強の方が多い
文法・コーディングだけだと、ちょっとしたコマンドぐらいしか作れない
Rails みたいなフレームワークを使わないと、
データベースを含んだ、webアプリなどは作れない
むしろ、コーディング・テストよりも、
アプリの設計・構築運用など、Linux の勉強の方が多い
文法・コーディングだけだと、ちょっとしたコマンドぐらいしか作れない
Rails みたいなフレームワークを使わないと、
データベースを含んだ、webアプリなどは作れない
2020/08/16(日) 05:51:14.48ID:1OSQgfCu
2020/08/16(日) 06:33:25.81ID:wVZFHsSL
>>87
> 何をもってプログラミングが出来ると言うのでしょうか?
何かを作るぞ! と頑張って、目標を達成できること
「何か」はゲームでもいいしドローンの自動運転でもいいから
自分の好みで勝手に決めればいい
87は音楽プレイヤーだろ?
いきなり市販のプレイヤーに匹敵しなくてもいい
こんなことできないかな〜とアイディア先行で実験してみて
うまくいったら見栄えも気にして仕上げにかかる
てなことを小刻みに繰り返すとアジャイルっぽくなる
> 何をもってプログラミングが出来ると言うのでしょうか?
何かを作るぞ! と頑張って、目標を達成できること
「何か」はゲームでもいいしドローンの自動運転でもいいから
自分の好みで勝手に決めればいい
87は音楽プレイヤーだろ?
いきなり市販のプレイヤーに匹敵しなくてもいい
こんなことできないかな〜とアイディア先行で実験してみて
うまくいったら見栄えも気にして仕上げにかかる
てなことを小刻みに繰り返すとアジャイルっぽくなる
2020/08/16(日) 07:20:43.69ID:5tP8nVqa
第二不完全性定理の制約を受けず、
停止性問題を解けること、
って無理ゲーじゃん?!?
なんで人間ってプログラミングできるの?!!?!
停止性問題を解けること、
って無理ゲーじゃん?!?
なんで人間ってプログラミングできるの?!!?!
92デフォルトの名無しさん
2020/08/16(日) 09:23:07.48ID:ng3yYkoc ユニバーサル文法があるから
その辺りは余り深く考えても意味が無い
出来るから出来る
出来ない奴は出来ない
その辺りは余り深く考えても意味が無い
出来るから出来る
出来ない奴は出来ない
2020/08/16(日) 10:39:09.01ID:5tP8nVqa
ユニバーサル文法を操るメンタルオーガンが実在したとしても
そいつがたんなる機械なら解決にならないんじゃ…
そいつがたんなる機械なら解決にならないんじゃ…
2020/08/16(日) 12:13:35.40ID:INgchOov
95デフォルトの名無しさん
2020/08/16(日) 14:54:00.65ID:43uVw8aV2020/08/16(日) 15:36:41.55ID:1Qmt1HH2
>>87
アプリ作り上げるのに言語の詳しい知識って実はあんまり要らないんだよね
c++だとtemplateにはまって一日つぶすとかざらにあるんだけど、
これってただの自己満だよな〜って思う
愚直なコードでとりあえず解決しておいて、その分
アプリとして作り込むのに時間かけた方がよかったんだろなーと
まぁそれはさておき、音楽プレーヤなら
- GUIフレームワーク
- CODECライブラリ
- linuxシステムコール、libc
あたりの知識がないと進められないでしょう
GUIフレームのお作法の理解とか、
CODECもフォーマット特有の制約が上位まで波及したりするから結構知識いるよね
まず何を使うかの選定からでしょう
あと、たぶんお前さんの作りたいものは既に世の中にごまんとあるはず
それを承知で勉強と割り切って作るのはいいんだけど、
あんまり大きいものは最初の目標にしないように
すぐに情熱失ってやめてしまうのがオチ
アプリ作り上げるのに言語の詳しい知識って実はあんまり要らないんだよね
c++だとtemplateにはまって一日つぶすとかざらにあるんだけど、
これってただの自己満だよな〜って思う
愚直なコードでとりあえず解決しておいて、その分
アプリとして作り込むのに時間かけた方がよかったんだろなーと
まぁそれはさておき、音楽プレーヤなら
- GUIフレームワーク
- CODECライブラリ
- linuxシステムコール、libc
あたりの知識がないと進められないでしょう
GUIフレームのお作法の理解とか、
CODECもフォーマット特有の制約が上位まで波及したりするから結構知識いるよね
まず何を使うかの選定からでしょう
あと、たぶんお前さんの作りたいものは既に世の中にごまんとあるはず
それを承知で勉強と割り切って作るのはいいんだけど、
あんまり大きいものは最初の目標にしないように
すぐに情熱失ってやめてしまうのがオチ
97デフォルトの名無しさん
2020/08/16(日) 16:32:23.69ID:Qk/OMLZN 87のものです 皆さん有難うございます
再生させる機能やタグの取得等の割りかし簡単そうなものから実装していき
あわよくばイコライザーやスペクトラム等の機能も追加していこうと思います
あと、linuxだとuiや機能が優れた音楽プレイヤーって実は少ないんですよね…GitHub等でも探したのですが…foobar2000とかしかなくて正直ダサくて…
ないから自分で勉強がてら書いてみたいなと思った次第でした
再生させる機能やタグの取得等の割りかし簡単そうなものから実装していき
あわよくばイコライザーやスペクトラム等の機能も追加していこうと思います
あと、linuxだとuiや機能が優れた音楽プレイヤーって実は少ないんですよね…GitHub等でも探したのですが…foobar2000とかしかなくて正直ダサくて…
ないから自分で勉強がてら書いてみたいなと思った次第でした
2020/08/16(日) 17:31:00.86ID:PN3bHl0Q
>>87
〉何をもってプログラミングが出来ると言うのでしょうか?
他の人も似たようなこと言ってるけど、「ソフトを完成させる段取りを知っていること」が一つの目安。
実現機能を明確化して、実装する機能に分解して、必要なリソース・ライブラリを集めて、全部の機能を実装して、誤動作しないようにバグ取りをする。
これができれば言えるんじゃない?
少なくとも「プログラムするためには何が必要か」がわかるようになる。
〉何をもってプログラミングが出来ると言うのでしょうか?
他の人も似たようなこと言ってるけど、「ソフトを完成させる段取りを知っていること」が一つの目安。
実現機能を明確化して、実装する機能に分解して、必要なリソース・ライブラリを集めて、全部の機能を実装して、誤動作しないようにバグ取りをする。
これができれば言えるんじゃない?
少なくとも「プログラムするためには何が必要か」がわかるようになる。
99デフォルトの名無しさん
2020/08/16(日) 18:12:46.45ID:8WlfPd5U100デフォルトの名無しさん
2020/08/16(日) 18:35:06.05ID:wVZFHsSL >>96
ダウト
「こうしたい」と、せっかく閃いたアイディアを
表現力が足りないばかりに諦めたり
誰かさんみたいにtemplateがロクに使えなくて一日つぶすとかってのは
言語の詳しい知識が足りないことに他ならない
それを何やかんやと言い訳考えることこそ自己満以外の何物でもない
言語の基本をしっかり固めるのを軽視するとこうなるという典型だ
ダウト
「こうしたい」と、せっかく閃いたアイディアを
表現力が足りないばかりに諦めたり
誰かさんみたいにtemplateがロクに使えなくて一日つぶすとかってのは
言語の詳しい知識が足りないことに他ならない
それを何やかんやと言い訳考えることこそ自己満以外の何物でもない
言語の基本をしっかり固めるのを軽視するとこうなるという典型だ
101デフォルトの名無しさん
2020/08/16(日) 19:20:29.73ID:x8ZjthFZ progress_displayいつになったら規格に取り込まれるんだ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★3 [蚤の市★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 日本人の間で脱税がブーム 所得税の追徴課税額1400億円超、過去最高 [402859164]
- 女の子集合!
- 今年の漢字、きょう発表😉 [583597859]
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- 【悲報】メモリだけでなくSSDも値上がりがはじまる♥
