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:DKQ0QQLH0 >>91
LLVM は C++->C はできないのでは?LLVM のこと、わかってますか?
LLVM は C++->C はできないのでは?LLVM のこと、わかってますか?
>>92
C++ の template は #define の親玉のようなものですから、qsort() とかの間接ポインタ渡しでなんとかするしかない C が不利な場合はあるとおもいますよ
C++ の template は #define の親玉のようなものですから、qsort() とかの間接ポインタ渡しでなんとかするしかない C が不利な場合はあるとおもいますよ
98デフォルトの名無しさん (ワッチョイ)
2019/06/22(土) 17:55:09.83ID:VTgUFffK0 あとconstexprで事前計算してるのもあるね
99デフォルトの名無しさん (ワッチョイ)
2019/06/22(土) 18:03:29.07ID:kVNYu7LP0 >>94
allocatorってまさにそのための仕組みなんだけど
allocatorってまさにそのための仕組みなんだけど
100デフォルトの名無しさん (アウアウウー)
2019/06/22(土) 18:48:22.39ID:MmmgKpwaa >>95
具体的にはあげられないけど、現在の文脈においてある前提が成り立つことが分かることによりできる最適化が、
(最適化を除いて)同じ動作となる別のコードに置き換えられることにより、元の文脈での前提条件が成り立つことを断定できなくなり適用できないという状況があるのではないかと思う。
具体的にはあげられないけど、現在の文脈においてある前提が成り立つことが分かることによりできる最適化が、
(最適化を除いて)同じ動作となる別のコードに置き換えられることにより、元の文脈での前提条件が成り立つことを断定できなくなり適用できないという状況があるのではないかと思う。
101デフォルトの名無しさん (ワッチョイ)
2019/06/22(土) 18:58:11.17ID:3PgdpjOh0 >>96
そちらこそllvmをまるで理解していないみたいですね
そちらこそllvmをまるで理解していないみたいですね
102デフォルトの名無しさん (ブーイモ)
2019/06/22(土) 19:04:53.83ID:cW7wMvLUM >>101
llvm が変換した IR を C コードに戻すことができるのですか?
llvm が変換した IR を C コードに戻すことができるのですか?
104デフォルトの名無しさん (ワッチョイ)
2019/06/22(土) 20:26:09.97ID:/7bwQJ5j0 (1) コンストラクタの呼び出し回数削減最適化
(2) クラスが絡むmemory ariasing
(1)はC++かその意味を保った中間言語上で行う必要があり、C言語に逐語訳してからでは手遅れ
(2)も同じくで、クラスの意味を失うような低レベルへの変換を一揆にかけると
クラスFooのthisポインタとかクラス固有のアドレスが他のクラスにもグローバルな関数にも渡っていないことの保証がC言語に逐語訳してからでは手遅れ
な印象
想像なので詳しくは知らん
(2) クラスが絡むmemory ariasing
(1)はC++かその意味を保った中間言語上で行う必要があり、C言語に逐語訳してからでは手遅れ
(2)も同じくで、クラスの意味を失うような低レベルへの変換を一揆にかけると
クラスFooのthisポインタとかクラス固有のアドレスが他のクラスにもグローバルな関数にも渡っていないことの保証がC言語に逐語訳してからでは手遅れ
な印象
想像なので詳しくは知らん
105デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 01:02:56.59ID:PTFzQo+G0 初歩的な質問で申し訳ないんですけどcinってどういうもんなんでしょうか
cpprefjp見ると標準入力に対する入力ストリームオブジェクトなんて書いてありますけど
iostream.hで定義されてる「なにか」だとは思うんですがどういう型のものなのかとかそういえば全然知らずに使ってたなって
よろしくおねがいします
cpprefjp見ると標準入力に対する入力ストリームオブジェクトなんて書いてありますけど
iostream.hで定義されてる「なにか」だとは思うんですがどういう型のものなのかとかそういえば全然知らずに使ってたなって
よろしくおねがいします
106デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 01:04:06.42ID:tL1CwC/m0 console input
107蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ)
2019/06/23(日) 01:50:58.01ID:DI9+Pcki0108デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 02:02:56.98ID:7pjzMc7c0 const inputかと思って親近感がわいていたのに…
109デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 06:15:35.61ID:6LMXkq2m0 じゃあCトランスパイラのNimはC++より遅いのかな?
https://github.com/kostya/benchmarks
ぐぐったらマジでそうだった
高水準言語から直接コンパイルした方が速いんだな
https://github.com/kostya/benchmarks
ぐぐったらマジでそうだった
高水準言語から直接コンパイルした方が速いんだな
110デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 06:35:12.06ID:6LMXkq2m0 C++でクロスプラットフォームなコードを書くのはどれくらい難しい?
Nimはクロスプラットフォームを主張してるんだけどどっちがいいんだろう?
Nimはクロスプラットフォームを主張してるんだけどどっちがいいんだろう?
111デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 06:38:35.47ID:xbroTRmV0 Qtで書くだけ
112デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 07:05:57.27ID:6LMXkq2m0 WindowsもLinuxもMacもカーネルがCで書かれてるらしいけど何でC++じゃないんだろう?
113デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 09:01:51.47ID:Xq17DW5L0 C++がそこまで整備されていなかったから
OSといえばC言語で書くのが当たり前だから
そもそもC言語で十分だから
Linus「C++はレベルの低い奴が使うものだから」
OSといえばC言語で書くのが当たり前だから
そもそもC言語で十分だから
Linus「C++はレベルの低い奴が使うものだから」
114デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 09:11:04.02ID:p0iHiqR80 >WindowsもLinuxもMacもカーネルがCで書かれてるらしいけど何でC++じゃないんだろう?
何回質問されたことだろうか。
何回質問されたことだろうか。
115デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 10:55:33.78ID:6LMXkq2m0 OSじゃなくて組み込みでも大部分Cでしょ?
なんで?
なんで?
116デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 10:57:16.59ID:6LMXkq2m0 https://news.mynavi.jp/article/20170126-a093/
>組み込みシステム向けプログラミング言語の中で「一番好きな言語」としても「C」(29.1%)を選んだ人が最も多く、これに「Microsoft Visual Basic」(16.8%)、「C++」(15.3%)が続いた。
>組み込みシステム向けプログラミング言語の中で「一番好きな言語」としても「C」(29.1%)を選んだ人が最も多く、これに「Microsoft Visual Basic」(16.8%)、「C++」(15.3%)が続いた。
117デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 11:17:45.87ID:6LMXkq2m0 Linus TorvaldsのC++批判は正しかったのか
https://developers.srad.jp/story/15/03/13/2328200/
C++の最大の問題は学習が難しい事か。
たぶんC++を学ぶ時間でCとJava両方学べるね。
https://developers.srad.jp/story/15/03/13/2328200/
C++の最大の問題は学習が難しい事か。
たぶんC++を学ぶ時間でCとJava両方学べるね。
118デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 11:20:59.77ID:JKCTeXCU0 超堅牢に作らないといけないから、
見えないところでコピコン大量に走ったりするような言語は避けられるんじゃないか
ヘッダーに実装書き散らしてるのよくないね
OSはバイナリ境界意識しないといけないし
まあどのみち標準ライブラリは使えないけど
見えないところでコピコン大量に走ったりするような言語は避けられるんじゃないか
ヘッダーに実装書き散らしてるのよくないね
OSはバイナリ境界意識しないといけないし
まあどのみち標準ライブラリは使えないけど
119デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 11:28:01.94ID:6GXr3JQp0 最近BS/CSが映らなくなった人はここを見ると良い
【B-CAS改造】Bカスカード2038化書き換えツール配布所 205
https://mevius.5ch.net/test/read.cgi/avi/1560914909/1-100
【B-CAS改造】Bカスカード2038化書き換えツール配布所 205
https://mevius.5ch.net/test/read.cgi/avi/1560914909/1-100
120デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 11:39:08.67ID:4lSN7b3Y0 https://nlab.itmedia.co.jp/nl/articles/1902/19/news078.html
人の顔を生成するaiはどうやって作れますか?
人の顔を生成するaiはどうやって作れますか?
121デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 11:39:50.16ID:Xq17DW5L0 >>115
各ベンダーがサポートするにはC言語がちょうどいい規模だから
各ベンダーがサポートするにはC言語がちょうどいい規模だから
>>112
C++ のデフォでのマングリングが外部結合(リンク)を阻害するから、に一票
C++ のデフォでのマングリングが外部結合(リンク)を阻害するから、に一票
123デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 12:09:47.82ID:LchWS7uN0 ちがう
ちがうなぁ
ポインタがあって適度に奥が深いから、だ
ちがうなぁ
ポインタがあって適度に奥が深いから、だ
124デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 12:22:24.97ID:BQwXISYN0 メモリの制御が難しいからじゃね
最近やっと標準でまともなメモリ管理の仕組みを作り込めるができるようになったくらいだし
最近やっと標準でまともなメモリ管理の仕組みを作り込めるができるようになったくらいだし
125デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 14:34:24.36ID:hhhlIxdX0 昔からメモリ制御なんてCと同じことはできるだろ
126デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 14:56:33.46ID:WUJS/EaT0 今のC++なら十分使えるよね
継承やSTL、shared_ptrみたいなことをCで実装してるわけで
それを考えたらC++で良い
継承やSTL、shared_ptrみたいなことをCで実装してるわけで
それを考えたらC++で良い
127デフォルトの名無しさん (アウアウウー)
2019/06/23(日) 16:01:29.78ID:EoSayXaXa プログラムの一部にでもRTTIを使用した部分があるとプログラム全体のパフォーマンスが低下する?
128デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 16:37:25.79ID:p0iHiqR80 まあc++でちゃんとしたもの組もうと思ったらデストラクタをしっかり用意するってのが
大事なわけだが、かなりいろんな状況に対応したものにしないとまともに使い物にならん。
これはメタプロバカが思ってるほど難易度は低くない。
大事なわけだが、かなりいろんな状況に対応したものにしないとまともに使い物にならん。
これはメタプロバカが思ってるほど難易度は低くない。
129デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 16:59:21.61ID:7M38Ae5l0130デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 17:38:56.55ID:hhhlIxdX0 自前でデストラクタ書くなよ
131デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 18:20:15.96ID:xbroTRmV0 えっ
132デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 18:29:28.72ID:BQwXISYN0 ちゃんと例外を投げないデストラクタを書くんだぞ
fcloseの失敗はもみ消せ
どうせ回復などできない
fcloseの失敗はもみ消せ
どうせ回復などできない
133デフォルトの名無しさん (アウアウウー)
2019/06/23(日) 21:01:47.41ID:EoSayXaXa134デフォルトの名無しさん (ワッチョイ)
2019/06/23(日) 21:13:15.69ID:PTFzQo+G0 >>107
えーっとcinってのはistream型のオブジェクトってことでいいんですかね
externをいまいちよく分かってないですがヘッダ内で定義されてるから他のファイルでも使えるとという認識で大丈夫ですかね
えーっとcinってのはistream型のオブジェクトってことでいいんですかね
externをいまいちよく分かってないですがヘッダ内で定義されてるから他のファイルでも使えるとという認識で大丈夫ですかね
135デフォルトの名無しさん (ワッチョイ)
2019/06/24(月) 07:55:10.22ID:6Zff8TGS0 1.思考停止してそのまま使う
2.外界から齎される無限長の情報列がストリームである、と理解する
好きな方を選べ
2.外界から齎される無限長の情報列がストリームである、と理解する
好きな方を選べ
136デフォルトの名無しさん (ワッチョイ)
2019/06/24(月) 15:40:31.96ID:DnOtpTuq0 何でC++使ってる職場少ないのにプログラム板で上位なの?
137デフォルトの名無しさん (ワッチョイ)
2019/06/24(月) 15:56:59.67ID:OO73LhBR0 すく・・・ない・・・?
138デフォルトの名無しさん (ワンミングク)
2019/06/24(月) 16:10:16.23ID:vRXjoyqNM Web業界の人とかなんだろ
139デフォルトの名無しさん (オッペケ)
2019/06/24(月) 17:32:13.27ID:i4YKAGQ3r 「C++実践プログラミング」って良い本?
140デフォルトの名無しさん (スフッ)
2019/06/24(月) 18:02:59.78ID:HUc+KEird 実は多いだろ?
社内に囲われているだけで
社内に囲われているだけで
141デフォルトの名無しさん (ワッチョイ)
2019/06/24(月) 22:05:46.06ID:qyAEE2sQ0 C++プライマーとaccelerated C++一通りやってeffective C++始めたんだけどすんごくめんどくさーい
acceleratedの後半あたりから思ってたんだけど純粋なロジックやテクニック以外のところで考えなきゃいけないこと無限にあってできるようになる気がしない
実際に開発になってクラスやインターフェイスの設計ってみんなこんな色々考えてやってんの?って
競プロっぽい問題だったりちょっとしたもの作るのは割と面白いけどなんかもう萎えてきた
世の中のプロってやっぱ(modern) effective C++とかmodern C++ designとかその辺りは基礎教養レベルまでもっていってるもんなの?
2年目のペーペーだけどとてもC++のプロになれる気がせんわ
acceleratedの後半あたりから思ってたんだけど純粋なロジックやテクニック以外のところで考えなきゃいけないこと無限にあってできるようになる気がしない
実際に開発になってクラスやインターフェイスの設計ってみんなこんな色々考えてやってんの?って
競プロっぽい問題だったりちょっとしたもの作るのは割と面白いけどなんかもう萎えてきた
世の中のプロってやっぱ(modern) effective C++とかmodern C++ designとかその辺りは基礎教養レベルまでもっていってるもんなの?
2年目のペーペーだけどとてもC++のプロになれる気がせんわ
142デフォルトの名無しさん (ワッチョイ)
2019/06/24(月) 22:08:08.69ID:tWJeInAS0 そのへんはさらっと何が書いてあるか見ておいて、実際書くときに関係ある部分を参照する本では?
143デフォルトの名無しさん (ワッチョイ)
2019/06/24(月) 23:54:52.99ID:4vQIe5sT0144デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 00:51:00.92ID:rXRUIvly0 必要だと思うもんだけ使えばええがな
145デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 01:40:27.96ID:rF6w0adX0 11 名前:(´・ω・`)(`ハ´ )さん[] 投稿日:2019/06/24(月) 17:55:34.54 ID:PqEssjoP
世界三大英雄は野茂と村田と、あと1人は誰?
142 名前:(´・ω・`)(`ハ´ )さん[sage] 投稿日:2019/06/24(月) 21:21:51.77 ID:osRVwCku
>>11
中野英雄
世界三大英雄は野茂と村田と、あと1人は誰?
142 名前:(´・ω・`)(`ハ´ )さん[sage] 投稿日:2019/06/24(月) 21:21:51.77 ID:osRVwCku
>>11
中野英雄
146デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 07:42:37.27ID:p22LimGY0 >>132
回復できないエラーでもユーザーに通知する余地はあるでしょう。最悪abort()でも、もみ消すよりはマシ。
回復できないエラーでもユーザーに通知する余地はあるでしょう。最悪abort()でも、もみ消すよりはマシ。
147デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 12:36:52.78ID:U+wxsv9j0 JavaもC++も大して変わらないと思うけど
148デフォルトの名無しさん (ササクッテロル)
2019/06/25(火) 12:59:41.31ID:gYxx7iw3p >>141
modern C++ designはメタプログラミングに片足突っ込んでるからだいぶ後回しでいいと思う
考えること無限にある、は同意だけど優先順位低いものは忘れた方がいいんじゃないかね(特に、ループ回しもしない箇所の速度効率とか
modern C++ designはメタプログラミングに片足突っ込んでるからだいぶ後回しでいいと思う
考えること無限にある、は同意だけど優先順位低いものは忘れた方がいいんじゃないかね(特に、ループ回しもしない箇所の速度効率とか
149デフォルトの名無しさん (スフッ)
2019/06/25(火) 17:37:46.05ID:kxXa+TrUd むしろjavaの方がいろいろ面倒くさくね
150デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 17:56:57.79ID:Cc6pu6kp0 使用する概念としてはJavaとCを足してさらに多重継承とか演算子オーバーロードとかを足した
のがC++という印象だった。
のがC++という印象だった。
151デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 18:01:11.39ID:Cc6pu6kp0 プログラミング言語 収入 ランキング
とかでぐぐると
難しい上に重要なはずのC++が年収ランキングで10位以内に無いんだが
とかでぐぐると
難しい上に重要なはずのC++が年収ランキングで10位以内に無いんだが
152デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 18:15:31.86ID:U1S86Wri0 統計の取り方が不明
153デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 18:20:11.68ID:4vpt+Hzy0 >>140
多いってのはどこで集計されて発表されてるの?
多いってのはどこで集計されて発表されてるの?
154デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 18:30:38.49ID:U+wxsv9j0 一発当てて稼げてるのがwebサービスやってる人たちだから
155デフォルトの名無しさん (アウアウカー)
2019/06/25(火) 19:12:58.12ID:p4xx1Je/a C/C++まともに書ける人は貴重になってきてるのに何故か低いよねえ
特定の会社に行くしかない気がする
特定の会社に行くしかない気がする
156デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 19:18:47.91ID:S67hXFxm0 >>151
経済の世界でよくあること:
・高度な能力を持つ人は給与ではない部分にやりがいを感じるので給与に
関係なく集まってしまう。アニメーターは絵がものすごくうまいのに、
マクドナルド店員よりも自給が低い。「やりがい搾取」。
・高度な分野は、人材も高度な人が集まってくるので需要よりも大き過ぎる過剰な
成果を出してしまうので給与が下がるらしい。プログラマや数学者、
コンピュータ業界なんかは大体、そんな感じのところがある。
経済の世界でよくあること:
・高度な能力を持つ人は給与ではない部分にやりがいを感じるので給与に
関係なく集まってしまう。アニメーターは絵がものすごくうまいのに、
マクドナルド店員よりも自給が低い。「やりがい搾取」。
・高度な分野は、人材も高度な人が集まってくるので需要よりも大き過ぎる過剰な
成果を出してしまうので給与が下がるらしい。プログラマや数学者、
コンピュータ業界なんかは大体、そんな感じのところがある。
157デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 19:21:25.34ID:Xe7ucSUW0 高度な分野においては、とても僅かな一握りの人が、過大な成果を出してしまう。
すると、大体の場合、給与が下がるらしい。世界のわずか数人が異常なほど大きな成果を
出しているとか。
すると、大体の場合、給与が下がるらしい。世界のわずか数人が異常なほど大きな成果を
出しているとか。
158デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 19:28:18.56ID:U+wxsv9j0 みんな勘違いしてるが儲かる商売してるかどうかだけが稼ぎに関係している
儲からない商売に超絶技巧を投入しても意味ない
サービスで一発当てる方が100倍稼げる
儲からない商売に超絶技巧を投入しても意味ない
サービスで一発当てる方が100倍稼げる
159デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 19:43:08.34ID:0zPp4OkO0 というか自分のビジネス思いつくタイプでもないプログラマーが稼ごうと思ったらなるべくニッチな言語を探していくべきなんだと思う
C/C++なんてメジャーどころは一番だめなんじゃないか。まだまだ人が少ないか、書ける人がどんどん減っていきそうなところを
C/C++なんてメジャーどころは一番だめなんじゃないか。まだまだ人が少ないか、書ける人がどんどん減っていきそうなところを
160デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 19:50:04.75ID:U1S86Wri0 COBOLは意外と稼げるらしい
161デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 20:09:29.07ID:U+wxsv9j0 >>159
違うぞ稼げる商売やってる人に乗っかるのが正解
現在儲かってしょうがない会社に入るか今後そうなる会社に入っておくしかない
専門分野は関係ないが一発当てようがない業界というのはあるからそういうところは目指さない方がいい
違うぞ稼げる商売やってる人に乗っかるのが正解
現在儲かってしょうがない会社に入るか今後そうなる会社に入っておくしかない
専門分野は関係ないが一発当てようがない業界というのはあるからそういうところは目指さない方がいい
言語は表現手段にすぎないので、言語で分野が決まってしまう現状には疑問を持ちます
少なくともライブラリーは統一されるべきだと昔から夢想してきています
少なくともライブラリーは統一されるべきだと昔から夢想してきています
163デフォルトの名無しさん (ワンミングク)
2019/06/25(火) 21:02:24.65ID:i1Zv6l/dM 現実にあったんじゃよCOMというものがな
164デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:03:41.95ID:zDe7yE4Q0 ライブラリはCインターフェースさえあれば全てのまともな言語から呼べるから問題ない
>>164
OO であるべきでは?
OO であるべきでは?
167デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:10:43.33ID:6yREXBxQ0 素朴な疑問なんだけど
オブジェクトをshared_ptrで管理するとき
そのオブジェクトから他のオブジェクトにポインタを渡したいときってどうするの?
コンストラクタ以外のメソッドからならenable_shared_from_thisで
生なthisポインタからshared_ptrを生成して渡せばよいけど
コンストラクタだとそれも無理だよね(shared_ptrが作られるのはnewの後だから)
どうするの?
オブジェクトをshared_ptrで管理するとき
そのオブジェクトから他のオブジェクトにポインタを渡したいときってどうするの?
コンストラクタ以外のメソッドからならenable_shared_from_thisで
生なthisポインタからshared_ptrを生成して渡せばよいけど
コンストラクタだとそれも無理だよね(shared_ptrが作られるのはnewの後だから)
どうするの?
168デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:11:27.40ID:paQRKRTX0 ポインタ指向プログラミングとオブジェクト指向プログラミングは根本的に相性が悪い
これがC++高難易度化の一要因
これがC++高難易度化の一要因
170デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:15:54.14ID:6yREXBxQ0 てかさ
自分自身のスマポを
外部から渡してもらわないと、自分では知れないってのは
設計ミスなんじゃね?
当たり前、JavaやC#だとそんな制約ないからなぁ
自分自身のスマポを
外部から渡してもらわないと、自分では知れないってのは
設計ミスなんじゃね?
当たり前、JavaやC#だとそんな制約ないからなぁ
171デフォルトの名無しさん (アウアウカー)
2019/06/25(火) 21:18:19.51ID:p4xx1Je/a 代入がメンバのコピーという仕様が全ての複雑さの元凶
互換性のために仕方なかったとはいえ
おかげで完全に動くクラスをつくるのが凄まじくしんどい
それを改善しようとしたJavaは全てポインタのコピーというふうに割り切ったが
Optinalを導入しなかったせいかヌルポの山を築いた
それを改善しようと
Rustは全てがムーブという世界を作ったがまだ受け入れられるには早かった
互換性のために仕方なかったとはいえ
おかげで完全に動くクラスをつくるのが凄まじくしんどい
それを改善しようとしたJavaは全てポインタのコピーというふうに割り切ったが
Optinalを導入しなかったせいかヌルポの山を築いた
それを改善しようと
Rustは全てがムーブという世界を作ったがまだ受け入れられるには早かった
172デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:24:24.92ID:6yREXBxQ0 >>171
これまた不思議なもんで
Cからして配列は参照渡しなのに構造体は値渡しだからねぇ
Cの構造体が配列みたいにアクセスするとポインタに成り下がる仕様だったのなら
C++もまた違ってただろうねぇ
どちらがいいかは分からないが
これまた不思議なもんで
Cからして配列は参照渡しなのに構造体は値渡しだからねぇ
Cの構造体が配列みたいにアクセスするとポインタに成り下がる仕様だったのなら
C++もまた違ってただろうねぇ
どちらがいいかは分からないが
173デフォルトの名無しさん (ワンミングク)
2019/06/25(火) 21:26:08.00ID:i1Zv6l/dM えっ
普通は呼吸をするように
const T& var
て書く様に訓練されてるだろ?
普通は呼吸をするように
const T& var
て書く様に訓練されてるだろ?
174デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:29:04.07ID:U+wxsv9j0 任意にコピーとポインタとムーブを使い分けることになんの苦労も無いと思うけど
176デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:32:48.81ID:6yREXBxQ0 そうではなくて
構造体において何も考えずに代入した場合
実体のコピーになるって話では
その点、配列では実体のコピーにならないので
JavaやC#のオブジェクトに近い仕様で
なかなか先鋭的
構造体において何も考えずに代入した場合
実体のコピーになるって話では
その点、配列では実体のコピーにならないので
JavaやC#のオブジェクトに近い仕様で
なかなか先鋭的
177デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:44:51.24ID:6yREXBxQ0 そんなことより
コンストラクタで自分自身のshared_ptrが欲しい時
どうするの?
欲しい理由としては、どっかシステム的なところにattachしたり
自分のコンポジションした子供たち?に渡したり
そういうことをコンストラクタですっかりしたい場合どうすんの
enable_shared_from_thisを継承して二段階初期化ってのもかっこ悪いし
(↑生成する側がshared_ptrを使ってくれなかった場合
クラッシュするってのは置いておいてさ)
そもそも実行時型情報なんて反則が許されるなら
仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
って仕様でもよかっただろ?
スマポ側が参照カウンタを持っているってのは一見賢そうだけど…
上手くいかないパターンもあるよね
コンストラクタで自分自身のshared_ptrが欲しい時
どうするの?
欲しい理由としては、どっかシステム的なところにattachしたり
自分のコンポジションした子供たち?に渡したり
そういうことをコンストラクタですっかりしたい場合どうすんの
enable_shared_from_thisを継承して二段階初期化ってのもかっこ悪いし
(↑生成する側がshared_ptrを使ってくれなかった場合
クラッシュするってのは置いておいてさ)
そもそも実行時型情報なんて反則が許されるなら
仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
って仕様でもよかっただろ?
スマポ側が参照カウンタを持っているってのは一見賢そうだけど…
上手くいかないパターンもあるよね
178デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:48:45.68ID:6yREXBxQ0 >仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
↑これはちょっと不正確だな
vtableと一緒に参照カウンタ〜
が正解かな
↑これはちょっと不正確だな
vtableと一緒に参照カウンタ〜
が正解かな
179デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:52:05.85ID:zDe7yE4Q0 ファクトリでやれ
180デフォルトの名無しさん (ワッチョイ)
2019/06/25(火) 21:54:23.16ID:jeBecXDk0 >>177
create関数でshare作ってから後の構築処理して返すしかないんじゃね
create関数でshare作ってから後の構築処理して返すしかないんじゃね
181デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 00:01:25.34ID:7raG/MY10 有害でしかない美意識は投げ捨ててshared_form_this使えって話になるだろ
182デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 00:07:57.67ID:HPTAJdxK0 それでもコンストラクタでは使えないから二段階初期化になるな
183デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 00:27:47.77ID:3ywCP3+N0 ちょっと質問なんですが、どういうときに必要になるんですか?
184デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 01:38:39.12ID:kcNPbTTh0 Intel、新プログラミング言語「Data Parallel C++」を開発中
2019/06/25 11:08 後藤大地
https://news.mynavi.jp/article/20190625-848112/
ossbytesは2019年6月24日(米国時間)、「Intel Is Working On A New 'Data Parallel C++’
Programming Language」において、Intelが「Data Parallel C++」と呼ばれるプログラ
ミング言語の開発を進めていると伝えた。
Data Parallel C++に関しては、先日Intelが発表した「Intel’s ‘One API’ Project
Delivers Unified Programming Model Across Diverse Architectures」程度しか情報が
なく、具体的にどのようなプログラミング言語なのか、わからない状況にある。
記事では、これまでに公開されている情報から、Data Parallel C++の特徴として以下を
まとめている。
・Data Parallel C++ (DPC++)はIntelが以前から取り組んでいるOneAPIプロジェクトの
成果物の1つ
・OneAPIプロジェクトはさまざまなコンピューティングアーキテクチャにおいて統合された
プログラミングモデルを提供するための取り組み
・Data Parallel C++はC++をベースに開発されている
・Data Parallel C++はKhronos GroupのSYCLシングルソースC++プログラミングスタン
ダードがベースになっている
・CPU、GPU、FPGAといった異なるアーキテクチャに対して使用できる
・Data Parallel C++の詳細は2019年第4四半期の発表される見通し
GPUの活用はスーパーコンピュータにおいても重要度が増している。Intelは異なるアーキ
テクチャに対して利用できるプログラミングモデルを構築することで、さまざまなコン
ピューティングアーキテクチャに対して同じコードベースで開発を進められる仕組みを
実現することを目指していると見られる。
2019/06/25 11:08 後藤大地
https://news.mynavi.jp/article/20190625-848112/
ossbytesは2019年6月24日(米国時間)、「Intel Is Working On A New 'Data Parallel C++’
Programming Language」において、Intelが「Data Parallel C++」と呼ばれるプログラ
ミング言語の開発を進めていると伝えた。
Data Parallel C++に関しては、先日Intelが発表した「Intel’s ‘One API’ Project
Delivers Unified Programming Model Across Diverse Architectures」程度しか情報が
なく、具体的にどのようなプログラミング言語なのか、わからない状況にある。
記事では、これまでに公開されている情報から、Data Parallel C++の特徴として以下を
まとめている。
・Data Parallel C++ (DPC++)はIntelが以前から取り組んでいるOneAPIプロジェクトの
成果物の1つ
・OneAPIプロジェクトはさまざまなコンピューティングアーキテクチャにおいて統合された
プログラミングモデルを提供するための取り組み
・Data Parallel C++はC++をベースに開発されている
・Data Parallel C++はKhronos GroupのSYCLシングルソースC++プログラミングスタン
ダードがベースになっている
・CPU、GPU、FPGAといった異なるアーキテクチャに対して使用できる
・Data Parallel C++の詳細は2019年第4四半期の発表される見通し
GPUの活用はスーパーコンピュータにおいても重要度が増している。Intelは異なるアーキ
テクチャに対して利用できるプログラミングモデルを構築することで、さまざまなコン
ピューティングアーキテクチャに対して同じコードベースで開発を進められる仕組みを
実現することを目指していると見られる。
185デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 04:17:13.86ID:0Jy9MjGr0 結論
使えない
使えない
186デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 06:38:56.80ID:LU29nklf0187デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 07:32:00.47ID:ICIJHbsn0 >>184
OpenCLとの違いは何
OpenCLとの違いは何
188デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 07:40:21.71ID:0Jy9MjGr0 異なるアーキテクチャに対応
高額
インテルサポートあり
高額
インテルサポートあり
189デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 08:12:04.77ID:x0x3rSL40 OpenCLがずっと停滞気味なのに業を煮やしたんじゃね
190デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 12:31:58.13ID:ghoq0O6D0 Intelは、CPU内臓のGPUを自前で作ってるから、そのための開発環境は
重要で、実行時のパイプライン関連のさまざまな高速化においても、
共通の技術が使えるので開発するメリットは大きいのだろうと思う。
レジスタ割付、ループ関連の最適化などは、CPUを実行する段階でも
似たことが行われる。
重要で、実行時のパイプライン関連のさまざまな高速化においても、
共通の技術が使えるので開発するメリットは大きいのだろうと思う。
レジスタ割付、ループ関連の最適化などは、CPUを実行する段階でも
似たことが行われる。
191デフォルトの名無しさん (アウアウカー)
2019/06/26(水) 12:39:28.47ID:Lh4/MgoYa そんなくだらんライブラリ作ってる暇あったらCUDA互換のランタイムだせーい
192デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 12:57:05.45ID:ghoq0O6D0 言語ではなくて、テンプレートライブラリなの?
193デフォルトの名無しさん (ワッチョイ)
2019/06/26(水) 17:24:56.62ID:hivlE/XW0 海外のニュースサイト見ても言語と書いてある
194デフォルトの名無しさん (ワッチョイ)
2019/06/27(木) 22:57:53.41ID:mSNnCkE50 accelerated C++みたいな実際にプログラム組んでいきながら組むときはこういうところを気をつけないといけないみたいなこと解説してる本って他に無い?
細切れの文法はC++プライマーやプログラミング言語C++第4版あるし、テクニック集みたいなのはeffectiveC++でいいだろとは思うんだけど
プログラミング構築を実際にどう進めていくのがいいのかってところが全然分からない
細切れの文法はC++プライマーやプログラミング言語C++第4版あるし、テクニック集みたいなのはeffectiveC++でいいだろとは思うんだけど
プログラミング構築を実際にどう進めていくのがいいのかってところが全然分からない
195デフォルトの名無しさん (ワッチョイ)
2019/06/27(木) 23:06:50.63ID:v/LZDm7Y0 他人の設計をパクる
196デフォルトの名無しさん (ワッチョイ)
2019/06/27(木) 23:34:52.50ID:ozPSmFlM0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 中国人「高市早苗が首相になってからの日本での中国人観光客の1日がこれらしいw」中国でバカウケ [165981677]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- >>3と>>5のワードを使ってai生成する
- ガバガバなんだよ
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
