次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part140
■ このスレッドは過去ログ倉庫に格納されています
2019/01/13(日) 05:56:22.70ID:9RrR7Arz
319デフォルトの名無しさん
2019/01/29(火) 04:04:45.84ID:NRuJsE/9 あと自分の管理下のデータメンバーを参照するポインタをホイホイ外に渡したいだなんて
それカプセル化出来てない証拠だから
それカプセル化出来てない証拠だから
320デフォルトの名無しさん
2019/01/29(火) 08:17:54.67ID:ONcJDm6u321デフォルトの名無しさん
2019/01/29(火) 08:26:37.92ID:W2YyhY1O スマートポインタがそのRAIIの代表格なのだが
まさか自分で書けばいいから使わなくていいとか言いたいん?
まさか自分で書けばいいから使わなくていいとか言いたいん?
322デフォルトの名無しさん
2019/01/29(火) 08:33:39.21ID:6edJr3Gn ライブラリを使うのは甘え
323デフォルトの名無しさん
2019/01/29(火) 08:33:59.57ID:ONcJDm6u >>321
普通に直接値を持てばいいでしょ
それでカバーしにくい代表的なケースといえば
俺なら遅延初期化したいケースとか多態性を使いたいケースとかが真っ先に思いつくけど、
スマポ派からはそういう指摘が全然出てこなかったってことは実際それほど困らないことの何よりの証拠だなw
普通に直接値を持てばいいでしょ
それでカバーしにくい代表的なケースといえば
俺なら遅延初期化したいケースとか多態性を使いたいケースとかが真っ先に思いつくけど、
スマポ派からはそういう指摘が全然出てこなかったってことは実際それほど困らないことの何よりの証拠だなw
324デフォルトの名無しさん
2019/01/29(火) 09:02:42.51ID:a5ZxXHh2325デフォルトの名無しさん
2019/01/29(火) 09:22:48.30ID:C0E16yKU 初期化の遅延はoptionalがいるから用途として挙げるのは微妙なところ
17使えない場面自体は山ほどあるだろうけどさ
17使えない場面自体は山ほどあるだろうけどさ
326デフォルトの名無しさん
2019/01/29(火) 09:29:51.94ID:8dDk6Bea deleteの手間を惜しむならコメント書くのもやめればと思う
327デフォルトの名無しさん
2019/01/29(火) 09:31:27.97ID:KR1Oxil+ なんなのこの根性論w
便利なものは使えよ
ゼロコストじゃん
便利なものは使えよ
ゼロコストじゃん
328デフォルトの名無しさん
2019/01/29(火) 09:32:04.90ID:C0E16yKU deleteは手間じゃなくてリスクって認識なんですよね
自分を含めて人間を信用してないからdeleteを書かせない(スマポに任せる)
この文脈で人間を信用してないからコメントは書かせる
自分を含めて人間を信用してないからdeleteを書かせない(スマポに任せる)
この文脈で人間を信用してないからコメントは書かせる
329デフォルトの名無しさん
2019/01/29(火) 09:32:41.81ID:6edJr3Gn 30年前の議論してるな
330デフォルトの名無しさん
2019/01/29(火) 09:36:00.95ID:30IAnyu6 new/delete するかどうかの話と、 new/delete する場合にスマートポインタを使うかどうかの話とが
ごっちゃになってる人が居るように見えました。
ごっちゃになってる人が居るように見えました。
331デフォルトの名無しさん
2019/01/29(火) 09:39:36.81ID:8dDk6Bea deleteはもちろん人間が読むためのもんよ。
リソースの解放なんて副次的なもの。
リソースの解放なんて副次的なもの。
332デフォルトの名無しさん
2019/01/29(火) 09:58:45.15ID:KR1Oxil+ またえらいのがやって来たなw
333デフォルトの名無しさん
2019/01/29(火) 10:20:07.20ID:pTVW5tot メモリ解放程度ならお仕着せのスマポで簡単かもしれんけどさ
その他のリソース開放も重なると慎重になったほうがいいわ
どうせ別途開放処理書くなら一緒にポインターも解放したほうがコードの対称性もよくなってわかりやすい
しかしリソース開放漏れがOSレベルでしょっちゅう発生してるのなんとかせい
その他のリソース開放も重なると慎重になったほうがいいわ
どうせ別途開放処理書くなら一緒にポインターも解放したほうがコードの対称性もよくなってわかりやすい
しかしリソース開放漏れがOSレベルでしょっちゅう発生してるのなんとかせい
334デフォルトの名無しさん
2019/01/29(火) 13:13:48.58ID:JkAV6Qsd リソース開放漏れって、ロックされているの?それは悲しいな
335デフォルトの名無しさん
2019/01/29(火) 13:54:12.84ID:TJ0JKGHp336デフォルトの名無しさん
2019/01/29(火) 15:30:43.36ID:oEOJ8htr >>319
const-ness理解してないのはC++理解してない証拠だから。
const-ness理解してないのはC++理解してない証拠だから。
337デフォルトの名無しさん
2019/01/29(火) 17:41:11.83ID:xfxzRb5k338デフォルトの名無しさん
2019/01/29(火) 17:50:18.96ID:TJ0JKGHp339デフォルトの名無しさん
2019/01/29(火) 17:53:37.09ID:TJ0JKGHp ていうかスマポ派は
「スマポ使って楽できる(設計上も問題なく、またそうすべき)場面でもスマポ使わない(または使えない)馬鹿」
を勝手に想定してモノを言ってるから毎回言い争いになるんだと思うが
スマポごときでマウンティングとかおめでてーな
「スマポ使って楽できる(設計上も問題なく、またそうすべき)場面でもスマポ使わない(または使えない)馬鹿」
を勝手に想定してモノを言ってるから毎回言い争いになるんだと思うが
スマポごときでマウンティングとかおめでてーな
340デフォルトの名無しさん
2019/01/29(火) 18:15:41.64ID:8rAEnTT8 そもそもスマポ自体が推奨されるものかどうか。
stl も boost も本当は C++ じゃない。
stl も boost も本当は C++ じゃない。
341デフォルトの名無しさん
2019/01/29(火) 18:22:39.90ID:8rAEnTT8 「どうして、人々は、『私は本当は boost を使いたくない』と遠まわしにほのめか
すのでしょう?」
Why do people seem to insinuate I would rather not use Boost?
Very often here on SO I see notes about boost such as
If you are fine with using Boost...
or
If you can use Boost...
https://stackoverflow.com/questions/33452925/why-do-people-seem-to-insinuate-i-would-rather-not-use-boost
すのでしょう?」
Why do people seem to insinuate I would rather not use Boost?
Very often here on SO I see notes about boost such as
If you are fine with using Boost...
or
If you can use Boost...
https://stackoverflow.com/questions/33452925/why-do-people-seem-to-insinuate-i-would-rather-not-use-boost
342デフォルトの名無しさん
2019/01/29(火) 18:25:38.40ID:xfxzRb5k >>338
「ユーザー」の意味がわからんが、自分が作ったファクトリーは自分だけが使うから危なかろうとなんだろうと構わないっていう意味で抜かしてるならあんたはマトモな開発者じゃないね
「ユーザー」の意味がわからんが、自分が作ったファクトリーは自分だけが使うから危なかろうとなんだろうと構わないっていう意味で抜かしてるならあんたはマトモな開発者じゃないね
343デフォルトの名無しさん
2019/01/29(火) 18:25:40.64ID:8rAEnTT8 Why do people seem to insinuate I would rather not use Boost?
↓
多くの人が、「Boostを使わないほうがいい」、と主張しているように見えるのは
なぜですか?
↓
多くの人が、「Boostを使わないほうがいい」、と主張しているように見えるのは
なぜですか?
344デフォルトの名無しさん
2019/01/29(火) 18:36:19.92ID:TJ0JKGHp >>342
そこまで自分とこのライブラリ開発者も自分すらも信用出来ないのなら
C++使うべきじゃないよ
だいたいその途中経路全てCopyConstructible, CopyAssignableを要求される文脈が
一度たりとも発生しないという保証が無ければunique使えないよな
ていうか趣味グラマだろお前w
そこまで自分とこのライブラリ開発者も自分すらも信用出来ないのなら
C++使うべきじゃないよ
だいたいその途中経路全てCopyConstructible, CopyAssignableを要求される文脈が
一度たりとも発生しないという保証が無ければunique使えないよな
ていうか趣味グラマだろお前w
345デフォルトの名無しさん
2019/01/29(火) 18:43:45.94ID:TJ0JKGHp なんでユーザーがやる前提なんだ、って聞いて「自分だけが使うから」
なんて発想になる時点でお察しなんだが・・まぁ言ってもわからんだろうな
なんて発想になる時点でお察しなんだが・・まぁ言ってもわからんだろうな
346デフォルトの名無しさん
2019/01/29(火) 18:53:34.87ID:xfxzRb5k なんだキチガイか
ムーブするっつってんのになんでコピー可能性要求してんだこのキチガイ
ファクトリーが作ったものを管理屋に渡す前になんでヨソにコピーしてんだこのキチガイ
ムーブするっつってんのになんでコピー可能性要求してんだこのキチガイ
ファクトリーが作ったものを管理屋に渡す前になんでヨソにコピーしてんだこのキチガイ
347デフォルトの名無しさん
2019/01/29(火) 19:09:09.99ID:yGUoU/E+ RAIIを徹底しましょう。
348デフォルトの名無しさん
2019/01/29(火) 19:13:58.69ID:+ftC4go9 これくらいユーザーの関わるレイヤーがバラバラなのがc++なんだわ。
349デフォルトの名無しさん
2019/01/29(火) 19:26:19.11ID:6edJr3Gn レイヤーではなく勉強量
350デフォルトの名無しさん
2019/01/29(火) 19:58:54.89ID:y6MyodWj stlもboostもc++でないという人は他の人が作ったライブラリもc++じゃないというんだろ?
351デフォルトの名無しさん
2019/01/29(火) 20:01:21.40ID:6edJr3Gn Python3はPythonじゃないとか言ってPython2使い続けてるゴミみたいだな
352デフォルトの名無しさん
2019/01/29(火) 20:04:29.67ID:+ftC4go9 ビルド速度、コンパイラの安定性もまともに計らずに
ただ新しいものだけ使えばいいってのはただのバカにしか見えないがな。
ただ新しいものだけ使えばいいってのはただのバカにしか見えないがな。
353デフォルトの名無しさん
2019/01/29(火) 20:12:27.09ID:6edJr3Gn ワロタ
354デフォルトの名無しさん
2019/01/29(火) 20:42:46.37ID:NRuJsE/9 たった8年前に標準化されたばかりの超絶最新機能を使いたがるバカにID:+ftC4go9様がお怒りだぞ
355デフォルトの名無しさん
2019/01/29(火) 20:47:18.60ID:W2YyhY1O 10年は寝かさないと成熟したとは言えないでしょ
なんならもう少し見て20年
なんならもう少し見て20年
356デフォルトの名無しさん
2019/01/29(火) 20:54:35.03ID:jLuFDhog たかが新機能に10年も20年も寝かすとかアホか!
・・と言う人はC++の歴史をよく眺めましょう
・・と言う人はC++の歴史をよく眺めましょう
357デフォルトの名無しさん
2019/01/29(火) 20:55:22.18ID:y6MyodWj 新しい言語が使えなくなっちゃう
358デフォルトの名無しさん
2019/01/29(火) 22:35:06.17ID:QzmnZttP 20年あったらメモリは2^20倍になってCPUの速度も2^20倍ぐらいになる!
359デフォルトの名無しさん
2019/01/29(火) 22:49:33.84ID:eMwTQyJK しかして人間の知能はあまり変わらない
10年で1.01倍くらい
10年で1.01倍くらい
360デフォルトの名無しさん
2019/01/29(火) 23:26:25.60ID:8rAEnTT8 年数の問題でなく、単に boost や C++ の設計者が馬鹿なだけだよ。
はっきり言って。
はっきり言って。
361デフォルトの名無しさん
2019/01/29(火) 23:57:13.83ID:+ftC4go9 で、その新機能とやらで生産性が上がると本気で思ってんのかね?
おめでてーな。
おめでてーな。
362デフォルトの名無しさん
2019/01/30(水) 00:01:24.97ID:vB8508VG >>358
特にCPUの速度に関して本気で言ってんのだったら物を知らないね、あなた。
特にCPUの速度に関して本気で言ってんのだったら物を知らないね、あなた。
363デフォルトの名無しさん
2019/01/30(水) 00:04:00.89ID:UNHNo1ul 企業戦士マジレス
364デフォルトの名無しさん
2019/01/30(水) 00:19:59.89ID:vB8508VG 「template を使うと、エラーが長くなって判読しにくい」
「template は、不注意に使うと、code の肥大化を招く」
「template のインスタンス化すると、コンパイル時間とメモリー使用量が増大する」
これ以外に、「Other issues」の欄に、無数の問題点が挙がっている。
https://en.wikipedia.org/wiki/Standard_Template_Library
Error messages involving templates tend to be very long and difficult to decipher.
This problem has been considered so severe that a number of tools have been
written that simplify and prettyprint STL-related error messages to make them
more comprehensible.
Careless use of templates can lead to code bloat.[7] This has been countered with
special techniques within STL implementations (e.g. using void* containers internally
and other "diet template" techniques) and improving compilers' optimization techniques.
However, this symptom is similar to naively manually copying a set of functions to work
with a different type, in that both can be avoided with care and good technique.
Template instantiation can increase compilation time and memory usage,
in exchange for typically reducing runtime decision-making (e.g. via virtual functions).
Until the compiler technology improves enough, this problem can be only partially
eliminated by careful coding, avoiding certain idioms, and simply not using templates
where they are not appropriate or where compile-time performance is prioritized.
「template は、不注意に使うと、code の肥大化を招く」
「template のインスタンス化すると、コンパイル時間とメモリー使用量が増大する」
これ以外に、「Other issues」の欄に、無数の問題点が挙がっている。
https://en.wikipedia.org/wiki/Standard_Template_Library
Error messages involving templates tend to be very long and difficult to decipher.
This problem has been considered so severe that a number of tools have been
written that simplify and prettyprint STL-related error messages to make them
more comprehensible.
Careless use of templates can lead to code bloat.[7] This has been countered with
special techniques within STL implementations (e.g. using void* containers internally
and other "diet template" techniques) and improving compilers' optimization techniques.
However, this symptom is similar to naively manually copying a set of functions to work
with a different type, in that both can be avoided with care and good technique.
Template instantiation can increase compilation time and memory usage,
in exchange for typically reducing runtime decision-making (e.g. via virtual functions).
Until the compiler technology improves enough, this problem can be only partially
eliminated by careful coding, avoiding certain idioms, and simply not using templates
where they are not appropriate or where compile-time performance is prioritized.
365デフォルトの名無しさん
2019/01/30(水) 00:32:35.94ID:O9mspDJQ コンパイル時間が伸びないテンプレートやらジェネリクスやらなんてのはあるの?
366デフォルトの名無しさん
2019/01/30(水) 00:36:46.36ID:vB8508VG 「STL で実装されているイテレーターの概念は、最初は理解しにくい」
The concept of iterators as implemented by STL can be difficult to understand
at first: for example, if a value pointed to by the iterator is deleted, the iterator
itself is then no longer valid.
↓実は、英語が良く分からない部分があるが、
「メモリ管理に関して、異なるメモリ・アロケーターが使う異なるメモリープール
を同時に使うようなことは出来ないので、状態依存で振舞ってしまうような
メモリ・アロケーターがちゃんと働く事は、コンパイラが動作を保障できない」
みたいな事かな(何かよく分からない):
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
For example, a portable library can't define an allocator type that will pull
memory from different pools using different allocator objects of that type.
(Meyers, p. 50) (addressed in C++11).
The concept of iterators as implemented by STL can be difficult to understand
at first: for example, if a value pointed to by the iterator is deleted, the iterator
itself is then no longer valid.
↓実は、英語が良く分からない部分があるが、
「メモリ管理に関して、異なるメモリ・アロケーターが使う異なるメモリープール
を同時に使うようなことは出来ないので、状態依存で振舞ってしまうような
メモリ・アロケーターがちゃんと働く事は、コンパイラが動作を保障できない」
みたいな事かな(何かよく分からない):
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
For example, a portable library can't define an allocator type that will pull
memory from different pools using different allocator objects of that type.
(Meyers, p. 50) (addressed in C++11).
367デフォルトの名無しさん
2019/01/30(水) 00:48:10.51ID:vB8508VG 直訳すれば、
「コンテナのメモリ管理のために使われている Allocator オブジェクトが、
状態依存の振る舞いを伴って働くことを、コンパイラ準拠は保障しない。」
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
多分、異なったメモリ管理法を使う色々な Memory Allocator があって、
同時に使うことが難しい、というようなことを言っている気がする。
確保されたメモリの先頭アドレスだけを使いたい、というような事でも、
色々な不具合が起きてしまうんだろうか。よく知らないので言ってることも
よく分からない。
「コンテナのメモリ管理のために使われている Allocator オブジェクトが、
状態依存の振る舞いを伴って働くことを、コンパイラ準拠は保障しない。」
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
多分、異なったメモリ管理法を使う色々な Memory Allocator があって、
同時に使うことが難しい、というようなことを言っている気がする。
確保されたメモリの先頭アドレスだけを使いたい、というような事でも、
色々な不具合が起きてしまうんだろうか。よく知らないので言ってることも
よく分からない。
368デフォルトの名無しさん
2019/01/30(水) 00:52:17.50ID:vB8508VG smart pointer や unique pointer、各種コンテナ、Array、Vector、Set
など、色々な物がありすぎて、互いにごちゃごちゃして、メモリブロックを
自動開放するような「状態依存」の振る舞いを、コンパイラが保障することが
できない、みたいなことだろうか。
つまり、誰も分けがわからんスパゲッティー状態なので、メモリーリークも
バグも、めちゃくちゃ生じるかもしれないから、危険だよ、と言うようなことかも
知れない。
そういえば、「実装が複雑すぎて訳分からん」みたいなことがどっかに書かれていた。
など、色々な物がありすぎて、互いにごちゃごちゃして、メモリブロックを
自動開放するような「状態依存」の振る舞いを、コンパイラが保障することが
できない、みたいなことだろうか。
つまり、誰も分けがわからんスパゲッティー状態なので、メモリーリークも
バグも、めちゃくちゃ生じるかもしれないから、危険だよ、と言うようなことかも
知れない。
そういえば、「実装が複雑すぎて訳分からん」みたいなことがどっかに書かれていた。
369デフォルトの名無しさん
2019/01/30(水) 00:59:11.93ID:vB8508VG ・C++の言語仕様もごちゃごちゃと勝手に追加された。
世界中、誰一人として、本当にどうなるかは分からん状態になってる。
つまり、仕様自体がスパゲッティーになってしまってる。
・STL は、使い方も、実装も、両方複雑で、エラーも解読できない。
変な決まりと直感に反する振る舞いが多くて、汚くて使いもんにならない。
仕様が変 ---> 実はバグと同じ。
・これらが両方あいまって、「STL はどう振舞うか保障できません」
と 英語版 Wikipedia に書かれているのかもしれない。
こんな危険ライブラリ(?)は使うべきじゃない。生産性が逆に下がる。
世界中、誰一人として、本当にどうなるかは分からん状態になってる。
つまり、仕様自体がスパゲッティーになってしまってる。
・STL は、使い方も、実装も、両方複雑で、エラーも解読できない。
変な決まりと直感に反する振る舞いが多くて、汚くて使いもんにならない。
仕様が変 ---> 実はバグと同じ。
・これらが両方あいまって、「STL はどう振舞うか保障できません」
と 英語版 Wikipedia に書かれているのかもしれない。
こんな危険ライブラリ(?)は使うべきじゃない。生産性が逆に下がる。
370デフォルトの名無しさん
2019/01/30(水) 01:01:19.96ID:GTSr1lmt もうちょっと読解力とSTLへの理解高めてからそういう主張をされたらいかがか・・・
371デフォルトの名無しさん
2019/01/30(水) 01:05:47.40ID:vB8508VG372デフォルトの名無しさん
2019/01/30(水) 01:12:49.83ID:2o4heCA8 > 世界中、誰一人として、本当にどうなるかは分からん状態になってる。
さすがにこれはない
俺みたいなチン毛みたいなC++グラマーですら、9割がた理解しとるよ
残り1割はもみ手しながら神に祈ってるけど
さすがにこれはない
俺みたいなチン毛みたいなC++グラマーですら、9割がた理解しとるよ
残り1割はもみ手しながら神に祈ってるけど
373デフォルトの名無しさん
2019/01/30(水) 01:15:41.91ID:vB8508VG for example, if a value pointed to by the iterator is deleted, the iterator
itself is then no longer valid.
↑STL, こんなんアホ仕様じゃん。
「イテレーターが指している値が削除されたら、イテレーターそれ自体が
もはや無効になってしまう」
こんなアホ実装しか出来ない、技術のないやつが作ったライブラリが「標準」になって
しまうのが、今の C++ 委員会の実体だ。
こんな状態だから、世界中が引きづられて、地球の生産性が下がっていく。
アメリカ人は馬鹿設計しかできん。だからバグだらけなんだ。
itself is then no longer valid.
↑STL, こんなんアホ仕様じゃん。
「イテレーターが指している値が削除されたら、イテレーターそれ自体が
もはや無効になってしまう」
こんなアホ実装しか出来ない、技術のないやつが作ったライブラリが「標準」になって
しまうのが、今の C++ 委員会の実体だ。
こんな状態だから、世界中が引きづられて、地球の生産性が下がっていく。
アメリカ人は馬鹿設計しかできん。だからバグだらけなんだ。
374デフォルトの名無しさん
2019/01/30(水) 01:17:13.07ID:vB8508VG >>372
実世界で天才と言われているオイラが、STLや今のC++は汚いとしか思えないけどな。
実世界で天才と言われているオイラが、STLや今のC++は汚いとしか思えないけどな。
375デフォルトの名無しさん
2019/01/30(水) 01:39:47.40ID:gkVZVPIY Allocator周りへの不満はあるだろうなと思うけど
削除された値を示すイテレータに正しい内容か不正だと通知を入れるのは
あまりにもコストが大きいからやってないだけだと思う
削除された値を示すイテレータに正しい内容か不正だと通知を入れるのは
あまりにもコストが大きいからやってないだけだと思う
376デフォルトの名無しさん
2019/01/30(水) 01:45:57.91ID:GE8h//C5 >>369
お前の言ってる事もSTL並みにゴチャゴチャやで。
お前の言ってる事もSTL並みにゴチャゴチャやで。
377デフォルトの名無しさん
2019/01/30(水) 01:56:09.46ID:YAuiBXnQ >>376
STLの方がまだ理屈が通っている分、難解だとしても理解しやすい。
STLの方がまだ理屈が通っている分、難解だとしても理解しやすい。
378デフォルトの名無しさん
2019/01/30(水) 02:00:39.54ID:UPzEtDGO >>362
確かに年2倍は盛ったがシリコンの比例縮小則が続く限りクロックは伸び続けるはず…
リーク電流による爆熱はHigh-Kで対策されたし
マルチコアに向かう流れは業界の怠惰にすぎず、物理的制約のせいではない…!
確かに年2倍は盛ったがシリコンの比例縮小則が続く限りクロックは伸び続けるはず…
リーク電流による爆熱はHigh-Kで対策されたし
マルチコアに向かう流れは業界の怠惰にすぎず、物理的制約のせいではない…!
379デフォルトの名無しさん
2019/01/30(水) 02:03:01.61ID:TJF4rq85380デフォルトの名無しさん
2019/01/30(水) 02:10:35.13ID:AGTVqw9V std::move、std::forwardと右辺値参照の関係とか特にtemplateが絡むと分かりにくいな。
まぁ、ライブラリ作るときに気をつければ良いだけだから、比較的どうでも良い問題ではあるけど。
STL自体はそんなに難解でもなくない?
コンテナのAllocatorは実際に差し替えて使ってるやつなんてあんまりいないと思うしw
まぁ、ライブラリ作るときに気をつければ良いだけだから、比較的どうでも良い問題ではあるけど。
STL自体はそんなに難解でもなくない?
コンテナのAllocatorは実際に差し替えて使ってるやつなんてあんまりいないと思うしw
381デフォルトの名無しさん
2019/01/30(水) 02:25:53.25ID:stWE4sF7 allocatorに無頓着な人って本当にc++使う必然性あるか考えた方がいいと思う
382デフォルトの名無しさん
2019/01/30(水) 02:35:48.20ID:gkVZVPIY 実際にアロケータ差し替えて使ってるとちょこちょこ「アレ??」
って思うとこはあるんだよね
まぁ文字コード周りがクソと言われがちなのと同じで、
使う奴が少ないところは結構微妙だったりする
(代替案としてpolymorphic memory resourceは出てきたけどまだ使い倒してないからよくわからん、
メモリの確保に普通型なんか関係無いから、型に依存しなくなったのは便利だなと思うけど)
って思うとこはあるんだよね
まぁ文字コード周りがクソと言われがちなのと同じで、
使う奴が少ないところは結構微妙だったりする
(代替案としてpolymorphic memory resourceは出てきたけどまだ使い倒してないからよくわからん、
メモリの確保に普通型なんか関係無いから、型に依存しなくなったのは便利だなと思うけど)
383デフォルトの名無しさん
2019/01/30(水) 02:56:49.38ID:6SCLtJmj 難しいことよくわからんけど、tupleの要素取り出すのがstd::get<index>(var)なの嫌い
var.get(index)になぜ出来なかったの
var.get(index)になぜ出来なかったの
384デフォルトの名無しさん
2019/01/30(水) 03:09:37.94ID:gkVZVPIY indexはコンパイル時定数じゃないといけないし
テンプレート引数だからvar.template get<index>()とか書かないといけないからじゃね
constexprに出来る文脈ならvar.get(index)にできるだろうけど・・
(個人的にはvar.template get<index>()でいいからそう書けるようにもして欲しかったw
テンプレート引数だからvar.template get<index>()とか書かないといけないからじゃね
constexprに出来る文脈ならvar.get(index)にできるだろうけど・・
(個人的にはvar.template get<index>()でいいからそう書けるようにもして欲しかったw
385デフォルトの名無しさん
2019/01/30(水) 07:03:31.67ID:vmEMjO5m pairもarrayも生配列も同じように使えるようにじゃなかったっけ?
同じ理由で今はv.begin()よりstd::begin(v)が推奨されてるよな
同じ理由で今はv.begin()よりstd::begin(v)が推奨されてるよな
386デフォルトの名無しさん
2019/01/30(水) 08:50:33.43ID:1AdXwgl8 あ た り ま え だ が
STLは”勉強していない奴”のことは”想定”していないからな
だから”わかりにくい”とか言ってる奴は”勉強不足”の”論外”な人間なわけ
STLは”勉強していない奴”のことは”想定”していないからな
だから”わかりにくい”とか言ってる奴は”勉強不足”の”論外”な人間なわけ
387デフォルトの名無しさん
2019/01/30(水) 09:01:51.07ID:/QR/gxPZ まあC++は人をふるい落とすための言語だからな。
別に書きやすいわけではない。
別に書きやすいわけではない。
388デフォルトの名無しさん
2019/01/30(水) 09:06:27.12ID:1AdXwgl8 わかりにくいとか使いにくいとかいう批判をされても作ってる人も使ってる人もふーんとしか思ってない
誰にでも使えるようにだとか寄せ集めのチームの生産性を上げるだけとかは全く考えてない
そういうのはC#の仕事
誰にでも使えるようにだとか寄せ集めのチームの生産性を上げるだけとかは全く考えてない
そういうのはC#の仕事
389デフォルトの名無しさん
2019/01/30(水) 12:23:30.32ID:gkVZVPIY 何言ってんだこいつ
390デフォルトの名無しさん
2019/01/30(水) 12:52:40.78ID:tru3FX0q 確かにstlの基本ぐらい勉強しろとおもうけど
標準ライブラリ全体になるとかなり無理げーでしょ
肥大しすぎだわ
説明読んでも意味不明で、意味理解したときはむしろc++に絶望を感じる
作ってる人は使ってるひとのこと考えてるとは思えないね
別に数行短くなるとかどうでもいい
標準ライブラリ全体になるとかなり無理げーでしょ
肥大しすぎだわ
説明読んでも意味不明で、意味理解したときはむしろc++に絶望を感じる
作ってる人は使ってるひとのこと考えてるとは思えないね
別に数行短くなるとかどうでもいい
391デフォルトの名無しさん
2019/01/30(水) 13:39:29.80ID:GE8h//C5 全容把握はやる気せんわ>STL。
上でも出てるけどallocatorみたいな問題あるし、そこは付き合ってらんない。
上でも出てるけどallocatorみたいな問題あるし、そこは付き合ってらんない。
392デフォルトの名無しさん
2019/01/30(水) 14:02:07.62ID:V6i8EwMo393デフォルトの名無しさん
2019/01/30(水) 14:48:48.06ID:Uh+VRScZ shared_ptrとコンテナはまあわからんでもないが
unique_ptrが難しいと騒いでる奴は何が難しいと思ってるのかさっぱりわからない
リアルにも結構いるけど
unique_ptrが難しいと騒いでる奴は何が難しいと思ってるのかさっぱりわからない
リアルにも結構いるけど
394デフォルトの名無しさん
2019/01/30(水) 14:50:08.15ID:uKzqzpGV unique打つのが難しい
395デフォルトの名無しさん
2019/01/30(水) 15:02:56.56ID:1AdXwgl8 ゆ・・・ゆにきゅー・・・
396デフォルトの名無しさん
2019/01/30(水) 15:07:10.83ID:gkVZVPIY >unique_ptrが難しいと騒いでる奴
そんな奴居たか?
そんな奴居たか?
397デフォルトの名無しさん
2019/01/30(水) 17:37:34.50ID:xoRVo/qA 「unique_ptrが難しいから使わないんだ」
「スマポが難しいから使わないんだ」
っていうレベルで考えてるやつがいたとは驚き
周回遅れっすなぁ
「スマポが難しいから使わないんだ」
っていうレベルで考えてるやつがいたとは驚き
周回遅れっすなぁ
398はちみつ餃子 ◆8X2XSCHEME
2019/01/30(水) 17:48:26.91ID:AHrCbFFN >>396
理解が難しいと言ってるやつはあまりいないと思うが、
このスレでは「使いどころが難しい (使える場面は思ったよりずっと少ないのであまり有難みがない)」
という主張はよく出てると思う。
std::unique_ptr の価値を十全に感じたいならば、
一貫して std::unique_ptr を利用する必要があるが、面倒くさいし、
様々なライブラリを組み合わせようとするとそうもいかないこともあるというのは確かにある。
現実は非情である。
私自身はとりあえず部分的な利用であっても、
(少なくともその箇所では) 例外に対して面倒くさい配慮をしなくてよいってだけで充分にありがたいと思うんだけどな〜。
理解が難しいと言ってるやつはあまりいないと思うが、
このスレでは「使いどころが難しい (使える場面は思ったよりずっと少ないのであまり有難みがない)」
という主張はよく出てると思う。
std::unique_ptr の価値を十全に感じたいならば、
一貫して std::unique_ptr を利用する必要があるが、面倒くさいし、
様々なライブラリを組み合わせようとするとそうもいかないこともあるというのは確かにある。
現実は非情である。
私自身はとりあえず部分的な利用であっても、
(少なくともその箇所では) 例外に対して面倒くさい配慮をしなくてよいってだけで充分にありがたいと思うんだけどな〜。
399デフォルトの名無しさん
2019/01/30(水) 18:20:07.90ID:gkVZVPIY いや俺もこないだ色々言ったけど便利だと思うよ
スマポの利便性の否定なんてしてないし使えるときは積極的に使ってる
ただ「全部スマポ使え、そうでないやつのコードは危険」
みたいなアホなこと言い出すやつが出てきて毎回話がおかしくなる
(全部スマポにするのも一つの設計方針ではあると思うけど・・・
どんなメモリ管理のケースにも対応できる、なんて自分は断言できないけどなぁ)
スマポの利便性の否定なんてしてないし使えるときは積極的に使ってる
ただ「全部スマポ使え、そうでないやつのコードは危険」
みたいなアホなこと言い出すやつが出てきて毎回話がおかしくなる
(全部スマポにするのも一つの設計方針ではあると思うけど・・・
どんなメモリ管理のケースにも対応できる、なんて自分は断言できないけどなぁ)
400デフォルトの名無しさん
2019/01/30(水) 18:32:35.81ID:bIZhf79S 半角カナのときと似てるな
401デフォルトの名無しさん
2019/01/30(水) 18:47:36.15ID:Etz6JgfQ スマポ使わない奴は死刑にする法律ができても良いくらい。
スマポを使わなかったせいで飛行機が落ちたり電車が衝突したりしてるからな。
住之江の自動運転が衝突したのもスマポ使ってれば防げたしな。
何人殺せばスマポ使うようになるんだってお話。
スマポを使わなかったせいで飛行機が落ちたり電車が衝突したりしてるからな。
住之江の自動運転が衝突したのもスマポ使ってれば防げたしな。
何人殺せばスマポ使うようになるんだってお話。
402デフォルトの名無しさん
2019/01/30(水) 22:03:27.11ID:gkVZVPIY スマポで物理的な障害を防げるのか
万能だな
万能だな
403デフォルトの名無しさん
2019/01/30(水) 22:05:55.39ID:GTSr1lmt プログラムの小さいバグで大事故は割とある話
スマポ案件は知らないが
スマポ案件は知らないが
404デフォルトの名無しさん
2019/01/30(水) 22:12:36.60ID:KxSBU/Xz 数値計算のオーバーフローだかゼロ除算だかでスペースシャトル落ちたんやで
405デフォルトの名無しさん
2019/01/30(水) 22:12:59.37ID:icd7+TXR そんなに凄いなら、次世代OSでも採用されるでしょうね
406デフォルトの名無しさん
2019/01/30(水) 22:27:00.90ID:gkVZVPIY いや、住之江 自動運転 衝突 で調べたら物理だったw
407デフォルトの名無しさん
2019/01/30(水) 22:27:27.73ID:GE8h//C5 bool 値インクリメントで放射線事故なんてのもある。
スマポだって要らんretainして事故が起きる可能性がある。
エラーを防ぐのは人の仕事であって言語や処理系、ライブラリではない。
スマポだって要らんretainして事故が起きる可能性がある。
エラーを防ぐのは人の仕事であって言語や処理系、ライブラリではない。
408デフォルトの名無しさん
2019/01/30(水) 23:40:14.23ID:Etz6JgfQ >>407
ならスマブ発明しろよ。
ならスマブ発明しろよ。
409デフォルトの名無しさん
2019/01/30(水) 23:58:05.04ID:GTSr1lmt boolのインクリメントはもう駄目にならんかったっけ
410デフォルトの名無しさん
2019/01/31(木) 01:03:44.53ID:1/qzJ5j1 ブールの++は禁止されるね。
スマートブール つ
struct Bool {
enum class Value { True, False };
Value value;
// その他I/Fはお好みで、でも++とか上書きしないように。
};
スマートブール つ
struct Bool {
enum class Value { True, False };
Value value;
// その他I/Fはお好みで、でも++とか上書きしないように。
};
411デフォルトの名無しさん
2019/01/31(木) 11:58:25.10ID:xxTKFGAk412デフォルトの名無しさん
2019/01/31(木) 12:04:22.91ID:AG1iGZmY やるなとお達しがきたことをやろうとするなよ
413デフォルトの名無しさん
2019/01/31(木) 12:41:33.66ID:1/qzJ5j1 struct を class に置き換えるなり好きに使えよアホ。挙動に制限つけたブール定義するのは簡単って意味。多少面倒でも人殺すよりまし。
キャストとかimplicitコンストラクタとか型安全な範囲で定義してね。
思考力無いんか? 猿なの? お前みたいなの職場にいたらガン無視。ナスと出世目の前にぶら下げて使い倒して、年食ったら捨てるわ。
キャストとかimplicitコンストラクタとか型安全な範囲で定義してね。
思考力無いんか? 猿なの? お前みたいなの職場にいたらガン無視。ナスと出世目の前にぶら下げて使い倒して、年食ったら捨てるわ。
414デフォルトの名無しさん
2019/01/31(木) 13:10:00.69ID:xxTKFGAk415デフォルトの名無しさん
2019/01/31(木) 13:31:27.74ID:1/qzJ5j1 バカに物事を説明すんの大変なの忘れてたわ。
416デフォルトの名無しさん
2019/01/31(木) 13:43:59.16ID:sy1gbegF 大入するときいちいちBool::Value::Trueとかってやるの?
417デフォルトの名無しさん
2019/01/31(木) 13:57:43.91ID:1/qzJ5j1 ラフスケッチって言葉知ってる?
418デフォルトの名無しさん
2019/01/31(木) 16:17:54.16ID:VRtcylyh ラフスケッチだったのか
下手すぎて知恵遅れの落書きと区別付かんかったわ
下手すぎて知恵遅れの落書きと区別付かんかったわ
419デフォルトの名無しさん
2019/01/31(木) 16:53:45.33ID:Z74WfsQD このスレって、昔デパートの屋上とかでやってた
マングースvsコブラみたいなおもしろさがあるな
マングースvsコブラみたいなおもしろさがあるな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 高市早苗さん、もう自決でしか許されないレベルになる [402859164]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- おなかすいた…誰か助けて
