C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part142
https://mevius.5ch.net/test/read.cgi/tech/1554124625/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://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/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvv:1000:512:----: EXT was configured
C++相談室 part143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ)
2019/06/15(土) 13:51:53.57ID:DKQ0QQLH0699デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 13:31:43.83ID:h+45fasi0 ?
元々バイナリ肥大全く気にしないとかではないだろ
template使うとバイナリが必ず肥大するってのが大嘘なのよ
うまく使えばCよりユーザー側の負担を減らしたまま、バイナリサイズ減る方向に誘導出来る
ifdefのスイッチを型で分岐して自動指定するようなことが出来るからね
元々バイナリ肥大全く気にしないとかではないだろ
template使うとバイナリが必ず肥大するってのが大嘘なのよ
うまく使えばCよりユーザー側の負担を減らしたまま、バイナリサイズ減る方向に誘導出来る
ifdefのスイッチを型で分岐して自動指定するようなことが出来るからね
700デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 13:36:49.89ID:h+45fasi0 まあRAMが極端に少ない場合は、
大抵バイナリ肥大気にする前にRAMが枯渇してしまう
ROM浪費してまでRAM容量押さえる手段すらとることもあるし。
ループ回さず展開すればループ変数分のスタック消費は押さえられるみたいな奴
大抵バイナリ肥大気にする前にRAMが枯渇してしまう
ROM浪費してまでRAM容量押さえる手段すらとることもあるし。
ループ回さず展開すればループ変数分のスタック消費は押さえられるみたいな奴
701デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 13:38:34.49ID:iD2vPqXr0 そうですか
どうでもいいですね
どうでもいいですね
702デフォルトの名無しさん (ワンミングク)
2019/07/05(金) 14:29:40.45ID:vxFjgZssM 多相アロケータとか組み込みに使えそうで期待してる
703デフォルトの名無しさん (ドコグロ)
2019/07/05(金) 19:29:27.74ID:cg54bwGhM704デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 22:54:57.76ID:v6DHhGs90 なおc++を使うことで増えるバイナリ肥大化は考慮しなくて良いものとする。
みたいなクソ意見。
みたいなクソ意見。
705デフォルトの名無しさん (ワントンキン)
2019/07/05(金) 23:06:22.44ID:RqC4v1rZM PCなら考慮しなくていいしプアな環境ならスタートアップルーチン削りまでする場合もあるし
環境書かなきゃクソも何もないわ
環境書かなきゃクソも何もないわ
706デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 23:23:06.20ID:RI4o57M10707デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 23:35:12.09ID:RI4o57M10 よく見たら2 MBやったorz
まあRAMは多いほうが良い
コードもRAMに置いた方が速いしimmutableなプログラミングもしやすいし、、
まあRAMは多いほうが良い
コードもRAMに置いた方が速いしimmutableなプログラミングもしやすいし、、
708デフォルトの名無しさん (ワッチョイ)
2019/07/06(土) 00:24:21.88ID:Cx3pk18b0 ramよりromの方がだいたい安価
電源が不安定でも一定の動作の保証がほしい
OS無いんで電源投入時の処理から自前で実装
そもそもそこまで速度重視しない
組み込みだとこういう環境があるんすよ
技術的には枯れた世界かもしれんが
電源が不安定でも一定の動作の保証がほしい
OS無いんで電源投入時の処理から自前で実装
そもそもそこまで速度重視しない
組み込みだとこういう環境があるんすよ
技術的には枯れた世界かもしれんが
709デフォルトの名無しさん (ワッチョイ)
2019/07/06(土) 02:13:02.83ID:2DlqEmd30 stringからstd::chrono::secondsへ変換するにはどうしたらよいですか??????????
710デフォルトの名無しさん (ワッチョイ)
2019/07/06(土) 02:18:48.19ID:QpY/QUgO0 auto sec=std::chrono::seconds(std::stoi(s));
711デフォルトの名無しさん (ワッチョイ)
2019/07/06(土) 02:23:42.88ID:2DlqEmd30 atoiだとオーバーフローする場合がありませんか?
712蟻人間 ◆T6xkBnTXz7B0 (スププ)
2019/07/06(土) 02:42:12.32ID:F4bvg3qDd タイヤに空気入れると破裂しませんか?
713デフォルトの名無しさん (ワッチョイ)
2019/07/06(土) 08:21:27.31ID:UHbZjDbS0 ディグダグのROMは何キロバイトですか?
714デフォルトの名無しさん (ワッチョイ)
2019/07/06(土) 10:43:54.53ID:YCbxVHxg0 stoullにしなさい
時間はintで扱っちゃあかん
あの日までもう20年切ってるんだ
時間はintで扱っちゃあかん
あの日までもう20年切ってるんだ
715デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 00:31:17.33ID:t8N8shlC0 ↑誰か曲を付けよう
716デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 00:41:38.39ID:04ONxsyD0 いいかい、学生さん、トンカツをな、トンカツをいつでも食えるくらいになりなよ。
717デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 01:15:25.86ID:t8N8shlC0 >>335の続き。
目的は一応達成できていたものの、偶然に頼りすぎたきらいのある>>333式の解決策の改善を試みたが、
やっぱテンプレートだけでは済まず、関数のオーバーロードも援用しなければ(意図した記述量では)実現できなかった、
・ 関数テンプレートの部分特殊化をやらないと、
tr_pos<Foo, *>()、tr_pos<Bar, *>()、tr_pos<*, Foo>()、tr_pos<*, Foo>() (*=A, B, C, D, ...)
の特殊化を総当りで書く必要があり全然省力化にならない
(A, B, C, ...は1兆個ぐらいあるから、ほとんどコピペとはいえ4兆個のテンプレートの定義を書く必要が出てくる
・ というわけで、クラステンプレートを経由する例のやり方で関数テンプレートの部分特殊化はやった
・ 結局、テンプレートの名前解決規則ではコンパイラが名前を解決できなくなるものとして以下の4ケースが残った。
tr_pos<Foo, Bar>(), tr_pos<Foo, Foo>(), tr_pos<Bar, Foo>, tr_pos<Bar, Bar>()
こいつらは関数のオーバーロードで特殊化でおk
・ スフィ姉は未調査
いじょ
目的は一応達成できていたものの、偶然に頼りすぎたきらいのある>>333式の解決策の改善を試みたが、
やっぱテンプレートだけでは済まず、関数のオーバーロードも援用しなければ(意図した記述量では)実現できなかった、
・ 関数テンプレートの部分特殊化をやらないと、
tr_pos<Foo, *>()、tr_pos<Bar, *>()、tr_pos<*, Foo>()、tr_pos<*, Foo>() (*=A, B, C, D, ...)
の特殊化を総当りで書く必要があり全然省力化にならない
(A, B, C, ...は1兆個ぐらいあるから、ほとんどコピペとはいえ4兆個のテンプレートの定義を書く必要が出てくる
・ というわけで、クラステンプレートを経由する例のやり方で関数テンプレートの部分特殊化はやった
・ 結局、テンプレートの名前解決規則ではコンパイラが名前を解決できなくなるものとして以下の4ケースが残った。
tr_pos<Foo, Bar>(), tr_pos<Foo, Foo>(), tr_pos<Bar, Foo>, tr_pos<Bar, Bar>()
こいつらは関数のオーバーロードで特殊化でおk
・ スフィ姉は未調査
いじょ
718デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 01:22:19.64ID:t8N8shlC0 なおFooやBarにset()やget()のメソッドを追加してA, B, C, ...と共通にtr_pos()できるようにする案はパフォーマンス上の問題で論外なのでもともと却下
(set()やget()の追加は出し入れするデータの型としてintermediateなクラスWの存在を仮定しているが、FooやBarとWとの間の変換は極めて重い処理となる
(set()やget()の追加は出し入れするデータの型としてintermediateなクラスWの存在を仮定しているが、FooやBarとWとの間の変換は極めて重い処理となる
719デフォルトの名無しさん (アウアウウー)
2019/07/07(日) 09:11:52.62ID:SNWX9Bjla720デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 12:23:18.94ID:t8N8shlC0 >>719
共通ではありません
Foo->Bar、Bar->Fooは互いに他方の逆関数なので別
Foo->Foo、Bar->Barはそれぞれのコピコンを呼ぶように(今週から)しますた、
なお、先週は変換元インスタンスをx、変換先インスタンスをy、intermediateなクラスWをaとして、
inline void tr_pos(.const (変換元クラス).& x, (変換後クラス)& y) { tr_pos(x, a); tr_pos(a, y); }
とか書いていたので、上記4者は「表記上は」共通操作に見えるコードだったが
今週からはその共通性も無くなり申した、
共通ではありません
Foo->Bar、Bar->Fooは互いに他方の逆関数なので別
Foo->Foo、Bar->Barはそれぞれのコピコンを呼ぶように(今週から)しますた、
なお、先週は変換元インスタンスをx、変換先インスタンスをy、intermediateなクラスWをaとして、
inline void tr_pos(.const (変換元クラス).& x, (変換後クラス)& y) { tr_pos(x, a); tr_pos(a, y); }
とか書いていたので、上記4者は「表記上は」共通操作に見えるコードだったが
今週からはその共通性も無くなり申した、
721デフォルトの名無しさん (アウウィフ)
2019/07/07(日) 12:29:05.93ID:L+nDH+YyF722デフォルトの名無しさん (アウアウウー)
2019/07/07(日) 22:04:14.86ID:SWnsKia6a なんでC++で備えてる通信関係のインターフェースがソケット止まりなの
723デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 22:10:23.25ID:rayzKf1F0 需要がないから
724デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 22:26:16.63ID:2F5duMK20 少なくとも高レイヤのライブラリが標準で提供されることは今のところないな
725デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 22:50:37.10ID:gRf2diQc0 networking-TSで<net>を検討中だよ
C++20にはまだ入らなそうだけど
C++20にはまだ入らなそうだけど
726デフォルトの名無しさん (ワッチョイ)
2019/07/07(日) 23:00:04.50ID:yY7Z+zin0 無数にライブラリがあるじゃん
727デフォルトの名無しさん (オッペケ)
2019/07/09(火) 16:24:18.39ID:810tT4wer string で任意制度の整数とか浮動小数点数を実装した信頼されてるやつない?
コピペで済むようなやつ!
コピペで済むようなやつ!
728デフォルトの名無しさん (アウアウウー)
2019/07/09(火) 16:32:51.09ID:uGZEPt9ja 文字列から数値への変換で精度求めるのは設計が間違っているのでは?
729デフォルトの名無しさん (ドコグロ)
2019/07/09(火) 16:42:32.66ID:VtjrtSEDM COBOLのゾーン十進数みたいなやつ?
ネタとしては面白そうだな
ネタとしては面白そうだな
730デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 16:46:10.73ID:zjLFaLyy0 任意精度じゃないけどこういうのじゃダメ?
Gooooogle様が作ってるdouble-conversionっていうやつ
https://github.com/google/double-conversion
Gooooogle様が作ってるdouble-conversionっていうやつ
https://github.com/google/double-conversion
731デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 16:53:49.80ID:zjLFaLyy0 変換が望みではなかったか
732デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 20:59:34.72ID:5DOcmAvj0 if( auto a = f() ){}
ってのが便利でよく使ってんだが
2変数になった場合はどう書けばよい?
if( auto a = f() && auto b = g() ){}
って書いたらコンパイラに怒られた
ってのが便利でよく使ってんだが
2変数になった場合はどう書けばよい?
if( auto a = f() && auto b = g() ){}
って書いたらコンパイラに怒られた
733デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 21:10:59.22ID:ZHNSssOw0 fowrad_as_tupleして構造化束縛?カンマで行けるかな
734デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 21:38:25.16ID:t5qNdO7w0 if( auto a = f() && g() ){}
735デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 21:38:44.04ID:t5qNdO7w0 if( auto a = f() & g() ){}
736デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 21:51:32.92ID:E5vjkFcA0 //c++17
bool f() {
return true;
}
bool g() {
return true;
}
int main(void) {
if (auto a = f(); auto b = g() && a) {
std::cout << "True" << std::endl;
}
return 0;
}
bool f() {
return true;
}
bool g() {
return true;
}
int main(void) {
if (auto a = f(); auto b = g() && a) {
std::cout << "True" << std::endl;
}
return 0;
}
737デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 21:54:10.28ID:5DOcmAvj0 おお、しかしそれ
if( auto a = f() )
if( auto b = g() )
{
}
ってぶら下がり文で書いた方がマシ・・・
if( auto a = f() )
if( auto b = g() )
{
}
ってぶら下がり文で書いた方がマシ・・・
738デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 21:57:13.33ID:E5vjkFcA0 これでいいか
if (auto [a,b] = std::make_tuple(f(), g()); a && b) {
}
if (auto [a,b] = std::make_tuple(f(), g()); a && b) {
}
739デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 22:12:00.87ID:pkZ4t/JR0 short circuitが使えないのが痛い
結局if2つに分けて書いた方がましと言うことに
結局if2つに分けて書いた方がましと言うことに
740デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 22:27:33.86ID:td6qAd7k0 簡潔に表記しようとしてかえって素で書くより煩雑になってたら本末転倒だね
741デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 22:29:17.74ID:JhNoJX2l0 operator boolをa&&bの結果でoverrideしたpairを返す関数作って引数に実行対象の関数渡すのはダメか
742デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 22:43:40.47ID:11PXPZRU0 cobol風ならこんなのが有るよ
https://github.com/vpiotr/decimal_for_cpp
それと上で話になってるautoのループについて横槍で聞きたいんだけど
ちょっと変わったことしようとすると
どう分解?すればいいのか解らなくて
autoを上手く元の形に戻すコツみたいなものか
それを解説しているサイトとか有ったら教えてくだされ
https://github.com/vpiotr/decimal_for_cpp
それと上で話になってるautoのループについて横槍で聞きたいんだけど
ちょっと変わったことしようとすると
どう分解?すればいいのか解らなくて
autoを上手く元の形に戻すコツみたいなものか
それを解説しているサイトとか有ったら教えてくだされ
743デフォルトの名無しさん (アウアウウー)
2019/07/09(火) 22:52:20.35ID:qZOKZ1zLa >>742
何が知りたい?
何が知りたい?
744デフォルトの名無しさん (ワッチョイ)
2019/07/09(火) 23:08:48.39ID:kBXtWzHg0745デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 00:37:30.64ID:CjBjj/SJ0 >>744
もともと質問者があげていた&&のケースについての議論だから短絡評価で問題ないでしょ
もともと質問者があげていた&&のケースについての議論だから短絡評価で問題ないでしょ
746デフォルトの名無しさん (ブーイモ)
2019/07/10(水) 00:45:23.28ID:kYtVBUtkM >>745
どっちかは使えない非対称な仕様なんていややわー
どっちかは使えない非対称な仕様なんていややわー
747デフォルトの名無しさん (ドコグロ)
2019/07/10(水) 05:17:16.10ID:BNPBqUg0M >>745
応用力なさすぎ
if( auto a = f() && auto b = g() ){
} else {
// f() が false 返したら b がない状態で来る
// まあ変数は作っておいて不定にしちゃうと言うのもありかもしれないけど…
}
応用力なさすぎ
if( auto a = f() && auto b = g() ){
} else {
// f() が false 返したら b がない状態で来る
// まあ変数は作っておいて不定にしちゃうと言うのもありかもしれないけど…
}
748デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 07:45:11.92ID:IKBgPxAr0 &&のオーバーロードで死ぬコードやん
749デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 08:00:59.47ID:brNiC0jH0 てかそこまでして変数宣言をif文に入れる必要なくね?
750デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 10:10:53.73ID:BYC+2ije0 いやでもweak_ptrとか
751デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 11:27:22.84ID:OXvWQFj60 {
}
でくくれ
}
でくくれ
752デフォルトの名無しさん (ブーイモ)
2019/07/10(水) 12:16:47.27ID:Y7REIpqsM ぐぐれ
に空目してそんなの無理だろと思った
に空目してそんなの無理だろと思った
753デフォルトの名無しさん (ラクッペ)
2019/07/10(水) 12:34:32.89ID:R0s9iXV+M テンプレート使ってなにかしたいけど、何を作ればいいのか思いつかない
車輪の再開発でおすすめのある?
車輪の再開発でおすすめのある?
754デフォルトの名無しさん (スップ)
2019/07/10(水) 14:44:49.38ID:rP/FdQrfd 行列クラスでも作ってみれば?
データ型とサイズをテンプレートパラメータにして
データ型とサイズをテンプレートパラメータにして
755デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 16:49:22.22ID:NolX0ibb0 >>743
そうですね
具体的にどういう事がしたい
というのは無いんですけど
リンクに書いた
https://github.com/vpiotr/decimal_for_cpp
これも使用例にはautoループを使ったものが有るんですけど
それを見ていて
そういえばautoループで書いてある物をc++03風?で書くにはどうすればいいんだろうか?
って疑問に思って調べたんんですけど
その時に特にこれといった物が見付らなくて
諦めたんですけど
ここで上に有るcobol風数値の話とautoの話の流れを見ていて
急に思い出して
何か知っている人がいそうだなと思って
何となく質問してみた次第
具体例をあえて言えば
このcobol風の物の使用例のautoループを何と言うか普通に戻すには
どういう風に考えていけば良いのだろうか?
その考え方や手順が解ればいいなと
そんな疑問を持って書かせて貰った次第です
かなり漠然とした疑問
という程度です
そうですね
具体的にどういう事がしたい
というのは無いんですけど
リンクに書いた
https://github.com/vpiotr/decimal_for_cpp
これも使用例にはautoループを使ったものが有るんですけど
それを見ていて
そういえばautoループで書いてある物をc++03風?で書くにはどうすればいいんだろうか?
って疑問に思って調べたんんですけど
その時に特にこれといった物が見付らなくて
諦めたんですけど
ここで上に有るcobol風数値の話とautoの話の流れを見ていて
急に思い出して
何か知っている人がいそうだなと思って
何となく質問してみた次第
具体例をあえて言えば
このcobol風の物の使用例のautoループを何と言うか普通に戻すには
どういう風に考えていけば良いのだろうか?
その考え方や手順が解ればいいなと
そんな疑問を持って書かせて貰った次第です
かなり漠然とした疑問
という程度です
756デフォルトの名無しさん (アウアウウー)
2019/07/10(水) 17:10:50.06ID:dvhbJ9iGa757デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 19:43:28.78ID:h7pwbJEr0 type_traitsヘッダ再実装
758デフォルトの名無しさん (ブーイモ)
2019/07/10(水) 20:09:02.22ID:PyTD27+8M autoループって何?
759デフォルトの名無しさん (アウアウウー)
2019/07/10(水) 20:22:30.91ID:/yjxFivUa range-based forの事を指していると思われる。
for(auto&& v: vec){
//vについての処理
}
for(auto&& v: vec){
//vについての処理
}
760デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 20:25:53.09ID:hIMxNPLy0 >>753
文字列やら数値やら与えて文字列にする関数を作った。
f("1+1=",1+1,string("ですよねー"))
みたいなの。
可変引数テンプレートやらtype traitsやら機能いろいろ使うことになるからいい練習になる。
文字列やら数値やら与えて文字列にする関数を作った。
f("1+1=",1+1,string("ですよねー"))
みたいなの。
可変引数テンプレートやらtype traitsやら機能いろいろ使うことになるからいい練習になる。
761デフォルトの名無しさん (ワンミングク)
2019/07/10(水) 20:27:41.92ID:mLQ0O0GxM 完璧なprintfクローンをテンプレートで作る
俺は挫折した
俺は挫折した
762デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 21:19:19.86ID:/Irjr7BN0 gcc, g++9.1
763デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 21:21:05.72ID:/Irjr7BN0 >>762
途中で書き込んでしまったすまない
gcc g++ 9.1だと
for_each_n(InputIterator first, Size n,Function f)が定義されてなくて
for_each_n(ExecutionPolicy&& exec, InputIterator first, Size n,Function f)のみ定義されてるんだけど
途中で書き込んでしまったすまない
gcc g++ 9.1だと
for_each_n(InputIterator first, Size n,Function f)が定義されてなくて
for_each_n(ExecutionPolicy&& exec, InputIterator first, Size n,Function f)のみ定義されてるんだけど
764デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 22:31:22.11ID:IKBgPxAr0 おめえの汚ねえテンプレート実装なんてオラ使いたくねぇ
765デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 23:04:21.40ID:ddYZk9I40 >>761のまねしてprintf作ろうと頑張ってみたところ。
std::to_string()にstd::stringをスルーする関数と、char[]からstd::stringに変換する関数が欲しくなった。
https://ideone.com/8RUAQh
std::to_string()にstd::stringをスルーする関数と、char[]からstd::stringに変換する関数が欲しくなった。
https://ideone.com/8RUAQh
766デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 23:26:51.16ID:dtMqcxnO0767デフォルトの名無しさん (ワッチョイ)
2019/07/10(水) 23:33:46.92ID:ddYZk9I40 std::string to_string(const std::string_view& In) {
return In.data();
}
こういう関数ほしいほしいほしい。ばいきんまん。とってきて
return In.data();
}
こういう関数ほしいほしいほしい。ばいきんまん。とってきて
768デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 00:08:50.79ID:1bNokJon0 テンプレートのエラーってめちゃくちゃでわけわからんです
あれで嫌いになるC++初心者多いのでは?
AIみたいなのが優しく教えてくれればいいのに
あれで嫌いになるC++初心者多いのでは?
AIみたいなのが優しく教えてくれればいいのに
769デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 00:09:04.21ID:+eNm2iJo0 https://ideone.com/bFsq3d
適当にいじってみたところ、動かなくもない感じ。@C++17
適当にいじってみたところ、動かなくもない感じ。@C++17
770デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 00:10:14.28ID:+eNm2iJo0771デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 00:20:00.77ID:pODzikO+0 主要3コンパイラともとりあえず1番上のエラー付近を調べればいいから分からんということもない
稀に本当に無関係なエラー出てることもあるけど
稀に本当に無関係なエラー出てることもあるけど
772デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 01:06:51.67ID:wg5f1lI10 エラーの読み方を知っちゃえば面倒くさいだけでどうということもない
ただ、これと間違えたんじゃないの、っての候補表示がかえって混乱をさそってる感はある
ただ、これと間違えたんじゃないの、っての候補表示がかえって混乱をさそってる感はある
773デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 01:54:45.72ID:PMWvbDa10 C++ は perl にまけずおとらず読みにくい
というのは誤解でしょうか?
というのは誤解でしょうか?
774デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 02:09:28.69ID:TZ7Ijk3p0 書き方しだい
775デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 02:40:24.86ID:Kuyk/Ifa0 >>773
C++は型がある分ちょっとマシ
C++は型がある分ちょっとマシ
776デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 08:50:22.94ID:PMWvbDa10 ありがとうございました
早さが必要なのに、C できつくなったら
ストラウストラップ本
というのを買ってスタートしてみようかなと思ってました
初めるときは、少しでも読めるように気合いれておきます
早さが必要なのに、C できつくなったら
ストラウストラップ本
というのを買ってスタートしてみようかなと思ってました
初めるときは、少しでも読めるように気合いれておきます
777デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 17:19:21.71ID:HcmCiWg70 756さんどうもです
読み込んでみます
読み込んでみます
778デフォルトの名無しさん (アウアウウー)
2019/07/11(木) 18:59:11.77ID:eLSvbx+Sa 自分で定義したコピーコンストラクタからデフォルトのコピーコンストラクタを呼ぶ方法はありませんか?
C(const C& c){
//デフォルトのコピーコンストラクタを使って静的にメンバをコピーしたい
//その後にポインタの参照先を修正したい
}
C(const C& c){
//デフォルトのコピーコンストラクタを使って静的にメンバをコピーしたい
//その後にポインタの参照先を修正したい
}
779デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 19:26:34.40ID:ryNigZ+S0 データメンバー分離すればいいんじゃない
class C
{
struct Data { /*...*/ } data;
C(const C& c)
: data(c.data) // C::Dataのデフォルトコピコン
{
// やりたい処理
}
};
class C
{
struct Data { /*...*/ } data;
C(const C& c)
: data(c.data) // C::Dataのデフォルトコピコン
{
// やりたい処理
}
};
780デフォルトの名無しさん (ワッチョイ)
2019/07/11(木) 21:59:39.17ID:t9WNsdfx0781デフォルトの名無しさん (ワッチョイ)
2019/07/12(金) 19:18:07.56ID:l82xLe+v0 ムーブコンストラクタとコピーコンストラクタ両方作って保守するのも
完全転送とsfinae用意するのもどちらも面倒臭いんですがc++erの皆様はどのように対象しているのでしょうか
完全転送とsfinae用意するのもどちらも面倒臭いんですがc++erの皆様はどのように対象しているのでしょうか
782デフォルトの名無しさん (ワッチョイ)
2019/07/12(金) 20:04:43.42ID:rLvHx2BM0 基本的に全部unique_ptrとdefaultのムーブコピーに任せてる
大抵はそれで困らないし困ったらその時考える
大抵はそれで困らないし困ったらその時考える
783デフォルトの名無しさん (アウアウウー)
2019/07/12(金) 21:54:46.19ID:hdEhfFLPa784デフォルトの名無しさん (ワッチョイ)
2019/07/12(金) 22:51:40.54ID:Bn8x2zNm0 暗黙のコンストラクタに任せるとか一番の事故パターンじゃん
785デフォルトの名無しさん (ワッチョイ)
2019/07/12(金) 23:06:47.15ID:I2Ktnv+c0786デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 02:39:27.85ID:6MHTVTJ70 最近のC++(少なくとも11以降?)ならば、マクロの使用は悪と決めつけてOKなもんですか?
それとも未だにマクロの役立つシーンはあったりするんですか?
それとも未だにマクロの役立つシーンはあったりするんですか?
787デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 02:46:19.08ID:kRrXltov0 普通に使ってる
ただ代替がある機能についてはわざわざ使わない
ただ代替がある機能についてはわざわざ使わない
788デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 02:46:46.90ID:rtc9CxCA0 あるよ
789デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 03:27:27.54ID:WqGPp55Y0 >>786
template classをいくつかの型で特殊化しておきたいときとか
型の名前を静的に調べる - 凹みTips
http://tips.hecomi.com/entry/20110321/1300691095?amp=1
template classをいくつかの型で特殊化しておきたいときとか
型の名前を静的に調べる - 凹みTips
http://tips.hecomi.com/entry/20110321/1300691095?amp=1
790デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 07:14:17.28ID:4+1a5dQe0791デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 09:10:55.61ID:2OenGlWi0 >>786
互換性のない複数プラットフォームに対応しようとするとき
ヘッダーファイルをincludeするかどうかを切り替えたいとき
ヘッダーファイルをincludeしたかどうかでプログラムの動作を切り替えたいとき
なんかは素直にマクロ使った方がいいと思う。
moduleが導入されれば、この辺の組み方も大幅に変わってくるかもしれないけど。
互換性のない複数プラットフォームに対応しようとするとき
ヘッダーファイルをincludeするかどうかを切り替えたいとき
ヘッダーファイルをincludeしたかどうかでプログラムの動作を切り替えたいとき
なんかは素直にマクロ使った方がいいと思う。
moduleが導入されれば、この辺の組み方も大幅に変わってくるかもしれないけど。
792デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 10:07:13.95ID:TPR8jqd00 コピコンを定義を求められるときは大概代入演算子も定義するから
コピコンの中身を代入演算子の方に移して
コピコンは代入演算子を呼べば良い
コピコンの中身を代入演算子の方に移して
コピコンは代入演算子を呼べば良い
793デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 10:56:21.38ID:TPR8jqd00 真の原因がバカにあるのだとすれば、可読性向上を唱えても空しい
794デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 11:59:42.51ID:K15oVfEY0795デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 12:24:56.92ID:N59vWAWf0 #include しゃあない
#pragma しゃあない
#line まあしゃあない
#if系 ある程度しゃあないけどテンプレートやconstexprへの置き換え考えようね
__VA_ARGS__ 可変長引数テンプレート使えと言いたいところだけど場合によるのかな
#error static_assert使え
定数#define const変数使え
関数#define ##や__VA_ARGS__使うためならしゃあない。そうでないなら死ね
#pragma しゃあない
#line まあしゃあない
#if系 ある程度しゃあないけどテンプレートやconstexprへの置き換え考えようね
__VA_ARGS__ 可変長引数テンプレート使えと言いたいところだけど場合によるのかな
#error static_assert使え
定数#define const変数使え
関数#define ##や__VA_ARGS__使うためならしゃあない。そうでないなら死ね
796デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 12:28:53.30ID:rtc9CxCA0 マクロって#defineだけだろ?
あと
> 定数#define const変数使え
constexpr auto 使え
あと
> 定数#define const変数使え
constexpr auto 使え
797デフォルトの名無しさん (スップ)
2019/07/13(土) 16:14:29.97ID:wshCTlzmd includeもC++20で死ねって言われるようになるの?
798デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 17:22:17.35ID:pw3rXvVP0 >>786
○○は悪、とかドヤ顔で言ったり書いたりしてるやつは例外なくアホだと思っていい
○○は悪、とかドヤ顔で言ったり書いたりしてるやつは例外なくアホだと思っていい
799デフォルトの名無しさん (ワッチョイ)
2019/07/13(土) 21:44:17.10ID:2KEsM2Co0 マクロの定数(リテラルの定数)とconst/constexprって等価じゃないよね?
実用上はさておき
実用上はさておき
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【外交】元台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」★2 [1ゲットロボ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★8 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
- 俺の代わりに中国がバカウヨを倒してくれる [805596214]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 高市が首相になってから進次郎の評価が爆上がりしてる件について
- ウンコシュタイナー
