https://mevius.5ch.net/test/read.cgi/tech/1589424805/
※前スレ
C++相談室 part152
https://mevius.5ch.net/test/read.cgi/tech/1594528940/
テンプレおしまい
C++相談室 part153
■ このスレッドは過去ログ倉庫に格納されています
2020/10/10(土) 23:18:20.00ID:i4F+i14Y
712はちみつ餃子 ◆8X2XSCHEME
2020/12/16(水) 15:35:04.62ID:zkq7HUY5 現実的な部分では運用でなんとかしてる部分はあるのも確かだが、
現実に対する妥協なのでパラダイム的な話とは区別が必要じゃない?
まあ不可分なところもあるんで微妙な話ではあるけども。
現実に対する妥協なのでパラダイム的な話とは区別が必要じゃない?
まあ不可分なところもあるんで微妙な話ではあるけども。
713デフォルトの名無しさん
2020/12/16(水) 16:36:11.97ID:uK3tjXUx >>708
それってモジュール使えば解決できる問題じゃないんでしたっけ
それってモジュール使えば解決できる問題じゃないんでしたっけ
714デフォルトの名無しさん
2020/12/16(水) 18:14:53.45ID:O+yPS5En >>712
運用できていても、いささかでも無理があれば
まだ余裕があるうちでも将来を見据えて
議論する価値が出てくるね
問題は無理を全く感じていないことを
空想論的に問題視することだ
個人的に問題視するのは勝手だが
他人が付き合ってくれないときにしつこくすることだ
運用できていても、いささかでも無理があれば
まだ余裕があるうちでも将来を見据えて
議論する価値が出てくるね
問題は無理を全く感じていないことを
空想論的に問題視することだ
個人的に問題視するのは勝手だが
他人が付き合ってくれないときにしつこくすることだ
715デフォルトの名無しさん
2020/12/16(水) 18:54:24.56ID:G781YURu 意義深い議論が展開されてるな
716デフォルトの名無しさん
2020/12/16(水) 22:51:18.04ID:IUrbfkPB C++はゼロコストで極力あらゆる制御をプログラマーに与えることを
使命ていうか至上命題にして至高のレーゾンデートルとみなしているように見えるので
プログラミングパラダイムを論じるにはいまいちに思はるる、
やっぱヘッダファイルとか批判者にとってかっこうの餌食でありその光景がまさに展開された、
使命ていうか至上命題にして至高のレーゾンデートルとみなしているように見えるので
プログラミングパラダイムを論じるにはいまいちに思はるる、
やっぱヘッダファイルとか批判者にとってかっこうの餌食でありその光景がまさに展開された、
717デフォルトの名無しさん
2020/12/16(水) 22:58:46.39ID:IUrbfkPB きちんとオブジェクト指向するんなら継承は全部virtualであるべきや
といってもC++だけにあてはまる批判ではないが
Base::Foo()とDerived::Foo()が異なる振る舞いで定義されているときに、
func(Base&)にDerivedを渡したらfunc()の中ではBase::Foo()が呼ばれるとか
危険極まりない
この基準で言ったらたいていの似非オブジェクト指向言語はNG
といってもC++だけにあてはまる批判ではないが
Base::Foo()とDerived::Foo()が異なる振る舞いで定義されているときに、
func(Base&)にDerivedを渡したらfunc()の中ではBase::Foo()が呼ばれるとか
危険極まりない
この基準で言ったらたいていの似非オブジェクト指向言語はNG
718デフォルトの名無しさん
2020/12/16(水) 23:05:40.32ID:L6k9APCP 不毛な宗教戦争よ
719デフォルトの名無しさん
2020/12/16(水) 23:25:11.55ID:2c+prgNQ クラスベースオブジェクト指向はすべて似非オブジェクト指向
アランケイ「C++のオブジェクト指向?知らない子ですね…」
アランケイ「C++のオブジェクト指向?知らない子ですね…」
720デフォルトの名無しさん
2020/12/17(木) 01:05:17.90ID:X4tT/GwL >>716
>C++はゼロコストで極力あらゆる制御をプログラマーに与えることを
>使命ていうか至上命題にして至高のレーゾンデートルとみなしているように見えるので
半分は正しいがそれならcでええやんてなる。
c++のc++たる所以(もしくは厨受けするところ)ってのは、ゼロコストなのにさらにどんなに高級な機能も入れられるんやで〜ってところだろ。
>C++はゼロコストで極力あらゆる制御をプログラマーに与えることを
>使命ていうか至上命題にして至高のレーゾンデートルとみなしているように見えるので
半分は正しいがそれならcでええやんてなる。
c++のc++たる所以(もしくは厨受けするところ)ってのは、ゼロコストなのにさらにどんなに高級な機能も入れられるんやで〜ってところだろ。
721デフォルトの名無しさん
2020/12/17(木) 01:10:53.36ID:YFuWJYb1722デフォルトの名無しさん
2020/12/17(木) 07:05:17.82ID:iG8ucCJK 非仮想だとそうなっちゃうっていう批判なんだろ
ハイディングなんかする方が悪いと思うけど
ハイディングなんかする方が悪いと思うけど
723デフォルトの名無しさん
2020/12/17(木) 07:08:07.45ID:4VSV+Zch724デフォルトの名無しさん
2020/12/17(木) 08:15:27.96ID:61mx8GyZ725デフォルトの名無しさん
2020/12/17(木) 11:41:30.12ID:YFuWJYb1726デフォルトの名無しさん
2020/12/17(木) 14:49:46.67ID:4VSV+Zch #include <charconv>
using namespace std;
int main()
{
char str[] = "123";
double dbl;
from_chars(str, str + 3, dbl);
}
Visual Studioでは通るんだけど、GCCではダメ
どうも戻りのfrom_chars_resultがテンプレートになってて推論に失敗してるようなんだけど
規格ドラフト見てもfrom_chars_resultがテンプレートだなんてどこにも書いてない
これGCCがおかしいんだよな?
バグレポ上がってたりする?
using namespace std;
int main()
{
char str[] = "123";
double dbl;
from_chars(str, str + 3, dbl);
}
Visual Studioでは通るんだけど、GCCではダメ
どうも戻りのfrom_chars_resultがテンプレートになってて推論に失敗してるようなんだけど
規格ドラフト見てもfrom_chars_resultがテンプレートだなんてどこにも書いてない
これGCCがおかしいんだよな?
バグレポ上がってたりする?
727デフォルトの名無しさん
2020/12/17(木) 14:50:46.30ID:4VSV+Zch バージョン書き忘れた
Visual Studio: 19.28.29334
GCC: 10.2.0
Visual Studio: 19.28.29334
GCC: 10.2.0
728デフォルトの名無しさん
2020/12/17(木) 15:56:08.03ID:UR7Dc4KD >>726
整数型だけしかサポートしてないよ
整数型だけしかサポートしてないよ
729デフォルトの名無しさん
2020/12/17(木) 17:33:27.07ID:4VSV+Zch730デフォルトの名無しさん
2020/12/17(木) 22:56:50.01ID:mqVedE2Y gccの傾向として、熱烈な信者がいて、出来ないことを出来ると宣伝したり、劣っているものを優れていると宣伝したりする場合がある。
ところが、そのような場合、GNUのマニュアルは「出来ない」「劣る」と明言している場合が多い。
したがって、gccについてはみだりに検索せず、GNUのサイトを見ることをお勧めします。
ところが、そのような場合、GNUのマニュアルは「出来ない」「劣る」と明言している場合が多い。
したがって、gccについてはみだりに検索せず、GNUのサイトを見ることをお勧めします。
731デフォルトの名無しさん
2020/12/18(金) 01:08:57.52ID:CTNkAd3G >>726 「ダメ」がコンパイルエラーの意味ならエラーメッセージも挙げてよ。
732デフォルトの名無しさん
2020/12/18(金) 01:16:51.95ID:UPU6Cu+L ダメコンは、ダメージコントロールの略ですよ。
733デフォルトの名無しさん
2020/12/18(金) 05:02:08.68ID:t+i2XnfT 継承使うと密結合になり変更に弱くなるし(実行時のオーバーヘッドにもなりそう)
規約で縛るというSTLの実装には好感が持てる
規約で縛るというSTLの実装には好感が持てる
734デフォルトの名無しさん
2020/12/18(金) 06:51:33.39ID:TZi3wQJw >>731
W:\>g++ g1.cpp
g1.cpp: In function 'int main()':
g1.cpp:8:33: error: no matching function for call to 'from_chars(char [4], char*, double&)'
8 | from_chars(str, str + 3, dbl);
| ^
In file included from g1.cpp:1:
C:/msys64/mingw32/include/c++/10.2.0/charconv:595:5: note: candidate: 'template<class _Tp> std::__detail::__integer_from_chars_result_type<_Tp> std::from_chars(const char*, const char*, _Tp&, int)'
595 | from_chars(const char* __first, const char* __last, _Tp& __value,
| ^~~~~~~~~~
C:/msys64/mingw32/include/c++/10.2.0/charconv:595:5: note: template argument deduction/substitution failed:
In file included from C:/msys64/mingw32/include/c++/10.2.0/charconv:40,
from g1.cpp:1:
C:/msys64/mingw32/include/c++/10.2.0/type_traits: In substitution of 'template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = std::from_chars_result]':
まだまだ延々続くけど、こんくらいでいい?
W:\>g++ g1.cpp
g1.cpp: In function 'int main()':
g1.cpp:8:33: error: no matching function for call to 'from_chars(char [4], char*, double&)'
8 | from_chars(str, str + 3, dbl);
| ^
In file included from g1.cpp:1:
C:/msys64/mingw32/include/c++/10.2.0/charconv:595:5: note: candidate: 'template<class _Tp> std::__detail::__integer_from_chars_result_type<_Tp> std::from_chars(const char*, const char*, _Tp&, int)'
595 | from_chars(const char* __first, const char* __last, _Tp& __value,
| ^~~~~~~~~~
C:/msys64/mingw32/include/c++/10.2.0/charconv:595:5: note: template argument deduction/substitution failed:
In file included from C:/msys64/mingw32/include/c++/10.2.0/charconv:40,
from g1.cpp:1:
C:/msys64/mingw32/include/c++/10.2.0/type_traits: In substitution of 'template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = std::from_chars_result]':
まだまだ延々続くけど、こんくらいでいい?
735デフォルトの名無しさん
2020/12/18(金) 09:49:45.23ID:/2PllW9k >>727
vsでも2017update7は同様のエラーみたいだなぁ
vsでも2017update7は同様のエラーみたいだなぁ
736デフォルトの名無しさん
2020/12/18(金) 11:01:15.84ID:nIUIWdb5 >>733
何言ってんだ継承使いまくりだぞ
何言ってんだ継承使いまくりだぞ
737デフォルトの名無しさん
2020/12/18(金) 11:36:27.07ID:YAPYqYIf738デフォルトの名無しさん
2020/12/18(金) 12:09:40.31ID:opBsRLFO オプションは無しなんだ
739デフォルトの名無しさん
2020/12/18(金) 13:23:30.53ID:2eIYLdZu n要素のvectorをm要素に変えたいときって中身はどうでも良いって思ってれば
vec = vector<int>(m);
も
vec.assign(m);
も
vec.resize(m);
もコスト変わらない?
vec = vector<int>(m);
も
vec.assign(m);
も
vec.resize(m);
もコスト変わらない?
740デフォルトの名無しさん
2020/12/18(金) 13:30:32.59ID:4UaQE5Dn バグバグ言語ランキングで見事PHPに勝利!
https://www.techrepublic.com/article/the-worst-bugs-in-the-top-programming-languages/
https://www.techrepublic.com/article/the-worst-bugs-in-the-top-programming-languages/
741デフォルトの名無しさん
2020/12/18(金) 13:40:56.80ID:TZi3wQJw742デフォルトの名無しさん
2020/12/18(金) 13:47:38.37ID:YAPYqYIf >>741
邪魔くさいからココに貼るなってんだよ
邪魔くさいからココに貼るなってんだよ
743デフォルトの名無しさん
2020/12/18(金) 14:07:04.35ID:TZi3wQJw それは731に言ってくれ
俺は知らん
俺は知らん
744デフォルトの名無しさん
2020/12/18(金) 14:33:16.19ID:kYvjoJp5 >>729
gccではMLで夏くらいにfloat版の実装のコミットの話が出てたから次のリリースでは多分実装されてるんじゃないかな。
gccではMLで夏くらいにfloat版の実装のコミットの話が出てたから次のリリースでは多分実装されてるんじゃないかな。
745デフォルトの名無しさん
2020/12/18(金) 15:35:36.73ID:A9pQAhpY >>729
23.20.1がHeader <charconv>のドラフトってどれだ?
23.20.1がHeader <charconv>のドラフトってどれだ?
746デフォルトの名無しさん
2020/12/18(金) 15:37:59.88ID:TZi3wQJw >>745
N4713
N4713
747デフォルトの名無しさん
2020/12/18(金) 15:50:56.91ID:A9pQAhpY https://cpprefjp.github.io/reference/charconv.html
https://cpprefjp.github.io/reference/charconv/from_chars.html
webページ見れない理由あった?
>GCC: 8.0(整数のみ)
>Visual C++: 2017 update 7(整数のみ), update 9(full support)
俺ならこの二つ眺めて「GCCは未実装なんだなぁ」と思考停止して終わる
https://cpprefjp.github.io/reference/charconv/from_chars.html
webページ見れない理由あった?
>GCC: 8.0(整数のみ)
>Visual C++: 2017 update 7(整数のみ), update 9(full support)
俺ならこの二つ眺めて「GCCは未実装なんだなぁ」と思考停止して終わる
748デフォルトの名無しさん
2020/12/18(金) 17:24:37.67ID:TZi3wQJw749デフォルトの名無しさん
2020/12/18(金) 17:28:32.84ID:Mxkr6hqK priority_queue<int>に比較関数を指定したいとき、
priority_queue<int, vector<int>, greater<int>>
のようにすると思いますが、内部コンテナ vector<int> は別にデフォルトのままで良いし書くのが面倒なので省略したいです
可能ですか?
priority_queue<int, vector<int>, greater<int>>
のようにすると思いますが、内部コンテナ vector<int> は別にデフォルトのままで良いし書くのが面倒なので省略したいです
可能ですか?
750デフォルトの名無しさん
2020/12/18(金) 18:26:15.74ID:Xk0olBJ3 template <typename T>
using my_priority_queue = priority_queue<T, vector<T>, greater<T>>;
using my_priority_queue = priority_queue<T, vector<T>, greater<T>>;
751デフォルトの名無しさん
2020/12/18(金) 18:41:07.57ID:UPU6Cu+L gccの場合、未実装でもスタブだけ存在する場合があるんですよね。
つまり、コンパイル時やリンク時にはエラーにならない。
悪いことに実行時にもエラーにはならず、静かにスルーされる場合さえあるんです。
ここまでの流れでもお気づきでしょうが、gccの熱烈なファンは、gccが後れを取ることが許せないんですよ。
ですから、gccの熱烈なファンサイトより、GNUのマニュアルを見ることをお勧めします。
マニュアルを見れば、たいていは、きちんと書いてあります。
つまり、コンパイル時やリンク時にはエラーにならない。
悪いことに実行時にもエラーにはならず、静かにスルーされる場合さえあるんです。
ここまでの流れでもお気づきでしょうが、gccの熱烈なファンは、gccが後れを取ることが許せないんですよ。
ですから、gccの熱烈なファンサイトより、GNUのマニュアルを見ることをお勧めします。
マニュアルを見れば、たいていは、きちんと書いてあります。
752デフォルトの名無しさん
2020/12/18(金) 19:45:59.90ID:PzyTX7K9 始皇帝氏
753デフォルトの名無しさん
2020/12/18(金) 19:59:32.56ID:A9pQAhpY >>748
ここ以外に各コンパイラでの実装具合が上手い事まとまってるサイトとかあんの?
ここ以外に各コンパイラでの実装具合が上手い事まとまってるサイトとかあんの?
754デフォルトの名無しさん
2020/12/18(金) 20:30:00.87ID:A9pQAhpY コンパイラのサポート状況 (C++17) - cppreference.com
https://ja.cppreference.com/w/cpp/compiler_support/17
こっちでの表現は「初等文字列変換」になってんのか
分かるワケねーな
https://ja.cppreference.com/w/cpp/compiler_support/17
こっちでの表現は「初等文字列変換」になってんのか
分かるワケねーな
755デフォルトの名無しさん
2020/12/18(金) 20:48:34.81ID:A9pQAhpY756デフォルトの名無しさん
2020/12/18(金) 20:52:41.57ID:2rT2nv7x757デフォルトの名無しさん
2020/12/18(金) 20:53:49.00ID:UPU6Cu+L >>751
関係ないけれども、gcc って今は C++ で記述されているんですよね
長い間私はそれをとても残念に思っています
オプティマイズは苦手であってもいいから C で記述されている C++ 処理系って存在するのでしょうか?
関係ないけれども、gcc って今は C++ で記述されているんですよね
長い間私はそれをとても残念に思っています
オプティマイズは苦手であってもいいから C で記述されている C++ 処理系って存在するのでしょうか?
759デフォルトの名無しさん
2020/12/18(金) 21:12:10.66ID:A9pQAhpY >>756
>>757
https://cpprefjp.github.io/international-standard.html
https://ja.cppreference.com/w/cpp/links
ここで紹介されている最終ワーキングドラフトでもない、
https://github.com/cplusplus/draft/tree/master/papers
こっちはたくさんあって何を選べばいいか分からない、
どうやってN4713のドラフトに行きついたんだ?
>>757
https://cpprefjp.github.io/international-standard.html
https://ja.cppreference.com/w/cpp/links
ここで紹介されている最終ワーキングドラフトでもない、
https://github.com/cplusplus/draft/tree/master/papers
こっちはたくさんあって何を選べばいいか分からない、
どうやってN4713のドラフトに行きついたんだ?
760デフォルトの名無しさん
2020/12/18(金) 21:20:36.71ID:UPU6Cu+L おーけーぐーぐるえぬよんなないちさん、と言いました。
761デフォルトの名無しさん
2020/12/18(金) 21:37:45.97ID:A9pQAhpY 行き着いた、ってのは>>746の彼がだよ
どういう経緯で彼が「これこそが勉強すべきドラフトである」と結論したんだ?
どういう経緯で彼が「これこそが勉強すべきドラフトである」と結論したんだ?
762デフォルトの名無しさん
2020/12/18(金) 22:07:42.21ID:TZi3wQJw 俺がN4713を見ていたことが、えらい気に入らない人がいるようだね
知らんがな
仮にwebページ見られなかったとして、どうやってN4713を落とせたのかとか
いちいち開陳せにゃならんの?
知らんがな
仮にwebページ見られなかったとして、どうやってN4713を落とせたのかとか
いちいち開陳せにゃならんの?
763デフォルトの名無しさん
2020/12/18(金) 22:09:31.45ID:XdXLiWO3764デフォルトの名無しさん
2020/12/18(金) 22:11:14.08ID:UPU6Cu+L こちらから見えるということは、向こうからも見えてるということです。
気を付けなされよ。
気を付けなされよ。
765デフォルトの名無しさん
2020/12/18(金) 23:08:30.12ID:A9pQAhpY766デフォルトの名無しさん
2020/12/18(金) 23:26:57.29ID:yxlBLqeq c++ってやたうんちくばっか言う人多いよね
そんな人に限って仕事ができない
やたら得意げに説明してるけど、細かいことばっか気にしてて結局納期遅れwww
それなら、ある程度チャランポランでも納期通り出荷して、最悪現地デバッグの方がまだ救いようがある
そんな人に限って仕事ができない
やたら得意げに説明してるけど、細かいことばっか気にしてて結局納期遅れwww
それなら、ある程度チャランポランでも納期通り出荷して、最悪現地デバッグの方がまだ救いようがある
767デフォルトの名無しさん
2020/12/18(金) 23:29:15.18ID:zfI8p5qO プログラマがうんちく言わないで何やるんだ?
768デフォルトの名無しさん
2020/12/18(金) 23:48:52.19ID:A9pQAhpY これの話の続きなのか
なら不思議は解消だ
謎は全部解けた
C++相談室 part151
https://mevius.5ch.net/test/read.cgi/tech/1589424805/20
20 名前:デフォルトの名無しさん[sage] 投稿日:2020/05/14(木) 18:32:35.87 ID:jF4/VTtK
>>17
ggrks
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf
あとcppreferenceはある意味ファンサイトみたいなものなので、何らかの標準化組織の公式サイトというわけじゃないよ
なら不思議は解消だ
謎は全部解けた
C++相談室 part151
https://mevius.5ch.net/test/read.cgi/tech/1589424805/20
20 名前:デフォルトの名無しさん[sage] 投稿日:2020/05/14(木) 18:32:35.87 ID:jF4/VTtK
>>17
ggrks
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf
あとcppreferenceはある意味ファンサイトみたいなものなので、何らかの標準化組織の公式サイトというわけじゃないよ
769デフォルトの名無しさん
2020/12/19(土) 00:02:31.33ID:yZxXMpJa そんな昔のスレは関係ないのでは?
770デフォルトの名無しさん
2020/12/19(土) 00:20:03.02ID:0cb9HLXb >>766
こういうとこでの情報提供や議論はともかく、うんちくでマウント取りたがるのは自信の無さの裏返しだからねぇ
こういうとこでの情報提供や議論はともかく、うんちくでマウント取りたがるのは自信の無さの裏返しだからねぇ
771デフォルトの名無しさん
2020/12/19(土) 00:23:06.73ID:sq702jvD うんちくがうっとおしくて、仕事なら自分が勝ってる!って思い込みたいだけなんじゃないの
772デフォルトの名無しさん
2020/12/19(土) 00:26:01.61ID:yZxXMpJa 図星つかれたからうんちくと言ってるのでは?
773デフォルトの名無しさん
2020/12/19(土) 00:38:15.56ID:x1EY5aRu スカトロスレ
774デフォルトの名無しさん
2020/12/19(土) 00:42:57.09ID:0cb9HLXb 爆釣ww
775デフォルトの名無しさん
2020/12/19(土) 03:34:46.64ID:yZxXMpJa この野郎。
ウンチクンめ。
ウンチクンめ。
776デフォルトの名無しさん
2020/12/19(土) 06:01:48.82ID:u3YcA1fK777デフォルトの名無しさん
2020/12/19(土) 08:07:11.10ID:vl/1bKki まあお茶でも飲んでカルシウム取ろう
778デフォルトの名無しさん
2020/12/19(土) 10:17:03.91ID:M1Nera9i お茶にはカルシウム入ってないだろほとんど
779デフォルトの名無しさん
2020/12/19(土) 10:18:39.16ID:dTYT78ol お茶とカルシウム入りウェハースでも食えばええやん
780デフォルトの名無しさん
2020/12/19(土) 10:25:15.46ID:cik2rIYa 何のはなしやねん
781デフォルトの名無しさん
2020/12/19(土) 13:23:01.76ID:biviwPkb Ca++
782デフォルトの名無しさん
2020/12/19(土) 13:26:14.15ID:biviwPkb 正式版は有料だがドラフトはタダで手に入るからヒジョーに得がたいが、
やっぱドラフトの内容は随時変わるから、
居丈高に相手を論破してなじり倒すにはやっぱ最新のドラフトでないとイマイチ、
やっぱドラフトの内容は随時変わるから、
居丈高に相手を論破してなじり倒すにはやっぱ最新のドラフトでないとイマイチ、
783デフォルトの名無しさん
2020/12/19(土) 13:50:09.89ID:B7wez7Ce よくわかりませんが、Chromeで実装されてるお試し機能がSafariで実装されてないからSafariはクソというのと似た話ですか?
784デフォルトの名無しさん
2020/12/19(土) 14:02:30.06ID:biviwPkb Chromeで実装されてるお試し機能がSafariで実装されてないからSafariはクソとなじったら
ドラフトの版が変わったらChromeの方がクソだった、みたいな
ドラフトの版が変わったらChromeの方がクソだった、みたいな
785デフォルトの名無しさん
2020/12/19(土) 14:41:50.09ID:+cK8B71a ゴミみたいなやり合いだな
くだらな
建設的な議論ができんのか
くだらな
建設的な議論ができんのか
786デフォルトの名無しさん
2020/12/19(土) 18:35:13.01ID:dM4VNuuI C++のプロジェクトに始めて関わって既存コード眺めてたんだけど、関数やメソッドを呼び出す時って、呼び出す側が結果を格納する箱となる変数とかポインタを渡して、
メソッドや関数は成功失敗のint値をreturnする書き方しているんだけど、
これってC++の書き方なの?
メソッドや関数は成功失敗のint値をreturnする書き方しているんだけど、
これってC++の書き方なの?
787デフォルトの名無しさん
2020/12/19(土) 18:41:15.86ID:5blMWj9s788デフォルトの名無しさん
2020/12/19(土) 18:42:49.16ID:x1EY5aRu どう世界が違うの?
いじわるしないで教えてよ
いじわるしないで教えてよ
789デフォルトの名無しさん
2020/12/19(土) 18:46:00.09ID:dM4VNuuI メモリ管理の文化的な作法なのね。
790デフォルトの名無しさん
2020/12/19(土) 18:47:02.46ID:5blMWj9s791デフォルトの名無しさん
2020/12/19(土) 19:25:11.20ID:p4OhEmVF792デフォルトの名無しさん
2020/12/19(土) 19:59:05.03ID:HGWooSzm Cだと不定長の配列やら文字列やら返す関数ひとつ作るだけで大事件だからなぁ
「いいですかー!この関数が返す配列はヒープ確保したものですよー!使い終わったらXXX__free()で解放してくださいよー!
解放忘れたらリークしますよー!!!絶対に最後に解放してくださいよー!忘れないでねー!絶っっっっっっ対に忘れないでねー!!!」
ってコメントやドキュメントやサンプルコードにしつこくしつこくしつこく書いて書いて書いて徹底的に注意喚起しないといけない
そして当然のように忘れられて「分かりにくい関数作りやがって」って叩かれる所までがお約束
vectorやstringをゴロッと返せば済む今はいい時代になったと思う
「いいですかー!この関数が返す配列はヒープ確保したものですよー!使い終わったらXXX__free()で解放してくださいよー!
解放忘れたらリークしますよー!!!絶対に最後に解放してくださいよー!忘れないでねー!絶っっっっっっ対に忘れないでねー!!!」
ってコメントやドキュメントやサンプルコードにしつこくしつこくしつこく書いて書いて書いて徹底的に注意喚起しないといけない
そして当然のように忘れられて「分かりにくい関数作りやがって」って叩かれる所までがお約束
vectorやstringをゴロッと返せば済む今はいい時代になったと思う
793デフォルトの名無しさん
2020/12/19(土) 20:17:48.73ID:vl/1bKki 消費者が買い物袋用意するなんてレジ袋有料化みたいだな
794デフォルトの名無しさん
2020/12/19(土) 20:19:43.48ID:yZxXMpJa 右辺値参照のおかげですよ。
795デフォルトの名無しさん
2020/12/19(土) 21:06:02.20ID:ISt3uDJM 質問@:
例えば…std::vectorで配列を確保したとします…push_backで追加した時に…アロケーター??が…
アドレスの再割当てをしたとします…この時…vectorは要素のアドレスは連続である事は保証されますが…
この時のアドレスの再割当てって…同期?非同期?どうなるの?
つまり…push_back時に同期で行うのか…非同期でロジック流れて行っちゃうか…って所…。
非同期だと怖いんだけど…。
質問A:
std::vector<char>とやった場合…data()でchar*を取れますが…std::vector<char>に'\0'の概念って
あります?どうなんでしょうねぇ…。'\0'のために+1多めに確保するなんて事はしないと思いますが…
どうなん?内部でどうなってるのかは…解りません…。
例えば…std::vectorで配列を確保したとします…push_backで追加した時に…アロケーター??が…
アドレスの再割当てをしたとします…この時…vectorは要素のアドレスは連続である事は保証されますが…
この時のアドレスの再割当てって…同期?非同期?どうなるの?
つまり…push_back時に同期で行うのか…非同期でロジック流れて行っちゃうか…って所…。
非同期だと怖いんだけど…。
質問A:
std::vector<char>とやった場合…data()でchar*を取れますが…std::vector<char>に'\0'の概念って
あります?どうなんでしょうねぇ…。'\0'のために+1多めに確保するなんて事はしないと思いますが…
どうなん?内部でどうなってるのかは…解りません…。
796デフォルトの名無しさん
2020/12/19(土) 21:33:09.17ID:HGWooSzm 普通に質問しろ
797デフォルトの名無しさん
2020/12/19(土) 22:28:27.67ID:yZxXMpJa798デフォルトの名無しさん
2020/12/19(土) 22:39:50.71ID:u3YcA1fK799デフォルトの名無しさん
2020/12/19(土) 22:59:41.56ID:vl/1bKki 確かにCだと必要メモリの問い合わせの為に二度呼び出したり面倒でしたわ…
800デフォルトの名無しさん
2020/12/19(土) 23:18:45.05ID:biviwPkb >>798
正式版の規格票は金かかるやんけヽ(`Д´)ノ
正式版の規格票は金かかるやんけヽ(`Д´)ノ
801デフォルトの名無しさん
2020/12/19(土) 23:20:05.98ID:biviwPkb >std::vectorは末尾に0を追加したりしません。
左様いまだにstd::string::c_str()が内部で何をやっているのかわからん…
左様いまだにstd::string::c_str()が内部で何をやっているのかわからん…
802デフォルトの名無しさん
2020/12/20(日) 00:32:15.85ID:zH6cQZTj 誰もstringの話してないと思うが
803デフォルトの名無しさん
2020/12/20(日) 07:06:06.65ID:u5Xjtcw/804デフォルトの名無しさん
2020/12/20(日) 09:47:23.01ID:C7ljP8CG805デフォルトの名無しさん
2020/12/20(日) 10:51:49.27ID:KSHt8d36 今どきのC++(C++11以降)だと基本的にスコープ抜けたら開放される方式で実装するものなの?
なるべくnewせずにスタック変数にする or ヒープ確保するにしてもスマートポインタ使う
とかで
なるべくnewせずにスタック変数にする or ヒープ確保するにしてもスマートポインタ使う
とかで
806デフォルトの名無しさん
2020/12/20(日) 11:14:31.35ID:IFRd5RXQ >>805
そうしたほうが簡単だから、C++11とか関係無くそうするだろ。
そうしたほうが簡単だから、C++11とか関係無くそうするだろ。
807デフォルトの名無しさん
2020/12/20(日) 11:16:20.77ID:B3eFXD1J RAIIなんて今どきでもないだろ
808デフォルトの名無しさん
2020/12/20(日) 11:27:39.08ID:KSHt8d36 そうかな?
ライブラリとかでわざわざInitialize/Finalizeとか明示的に呼ばなきゃいけないの
結構ある気がするけど
ライブラリとかでわざわざInitialize/Finalizeとか明示的に呼ばなきゃいけないの
結構ある気がするけど
809デフォルトの名無しさん
2020/12/20(日) 11:52:43.58ID:mkiVvOjR Finalizeが失敗する可能性があってエラーハンドリングしないといけない場合はあえてそうしているかもね
810デフォルトの名無しさん
2020/12/20(日) 13:25:24.04ID:8M1CEzDz あえてね!
811デフォルトの名無しさん
2020/12/20(日) 13:31:53.40ID:1w6q/2mK というかスコープ内で完結しない、グローバルな状態を持つものならそうするやろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 地震 [Hitzeschleier★]
- 恋する山上はせつなくて安倍ちゃんを想うとすぐパァンしちゃうの [377482965]
- (´;ω;`)起きちゃった!
- 仮に放射線混ざってたとしてもテムとアリエク使うわ
- ドーは
- 無職僕今から深夜徘徊する
- 親父が同級生(クラスの真面目委員長JK)の母親と結婚した。ウソじゃない。事実なんだ
