[表示 : 全て 最新50 1-99 101- 2ch.scのread.cgiへ]
Update time : 06/26 20:00 / Filesize : 46 KB / Number-of Response : 194
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part143



1 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 13:51:53.57 ID:DKQ0QQLH0.net]
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/

■長いソースを貼るときはここへ。■
 codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)

----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvv:1000:512:----: EXT was configured

159 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:43:08.34 ID:0zPp4OkO0.net]
というか自分のビジネス思いつくタイプでもないプログラマーが稼ごうと思ったらなるべくニッチな言語を探していくべきなんだと思う
C/C++なんてメジャーどころは一番だめなんじゃないか。まだまだ人が少ないか、書ける人がどんどん減っていきそうなところを

160 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:50:04.75 ID:U1S86Wri0.net]
COBOLは意外と稼げるらしい

161 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:09:29.07 ID:U+wxsv9j0.net]
>>159
違うぞ稼げる商売やってる人に乗っかるのが正解
現在儲かってしょうがない会社に入るか今後そうなる会社に入っておくしかない
専門分野は関係ないが一発当てようがない業界というのはあるからそういうところは目指さない方がいい

162 名前: mailto:sage [2019/06/25(火) 21:00:35.29 ID:eaNcyZwN0.net]
言語は表現手段にすぎないので、言語で分野が決まってしまう現状には疑問を持ちます
少なくともライブラリーは統一されるべきだと昔から夢想してきています

163 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:02:24.65 ID:i1Zv6l/dM.net]
現実にあったんじゃよCOMというものがな

164 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:03:41.95 ID:zDe7yE4Q0.net]
ライブラリはCインターフェースさえあれば全てのまともな言語から呼べるから問題ない

165 名前: mailto:sage [2019/06/25(火) 21:07:14.96 ID:eaNcyZwN0.net]
>>163
OLE は重過ぎるんじゃないでしょうか?単に名前と仕様が「ある程度」統一できればいいかと考えています
でも OLE はもう一度調べなおしてみます、キーワード提供ありがとうございます

166 名前: mailto:sage [2019/06/25(火) 21:07:47.47 ID:eaNcyZwN0.net]
>>164
OO であるべきでは?

167 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:10:43.33 ID:6yREXBxQ0.net]
素朴な疑問なんだけど
オブジェクトをshared_ptrで管理するとき
そのオブジェクトから他のオブジェクトにポインタを渡したいときってどうするの?
コンストラクタ以外のメソッドからならenable_shared_from_thisで
生なthisポインタからshared_ptrを生成して渡せばよいけど
コンストラクタだとそれも無理だよね(shared_ptrが作られるのはnewの後だから)
どうするの?



168 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:11:27.40 ID:paQRKRTX0.net]
ポインタ指向プログラミングとオブジェクト指向プログラミングは根本的に相性が悪い
これがC++高難易度化の一要因

169 名前:蟻人間 mailto:sage [2019/06/25(火) 21:13:45.53 ID:ayyd1Kg3d.net]
>>167
make_sharedじゃね?

170 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:15:54.14 ID:6yREXBxQ0.net]
てかさ
自分自身のスマポを
外部から渡してもらわないと、自分では知れないってのは
設計ミスなんじゃね?
当たり前、JavaやC#だとそんな制約ないからなぁ

171 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:18:19.51 ID:p4xx1Je/a.net]
代入がメンバのコピーという仕様が全ての複雑さの元凶
互換性のために仕方なかったとはいえ
おかげで完全に動くクラスをつくるのが凄まじくしんどい
それを改善しようとしたJavaは全てポインタのコピーというふうに割り切ったが
Optinalを導入しなかったせいかヌルポの山を築いた
それを改善しようと
Rustは全てがムーブという世界を作ったがまだ受け入れられるには早かった

172 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:24:24.92 ID:6yREXBxQ0.net]
>>171
これまた不思議なもんで
Cからして配列は参照渡しなのに構造体は値渡しだからねぇ
Cの構造体が配列みたいにアクセスするとポインタに成り下がる仕様だったのなら
C++もまた違ってただろうねぇ
どちらがいいかは分からないが

173 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:26:08.00 ID:i1Zv6l/dM.net]
えっ
普通は呼吸をするように
const T& var
て書く様に訓練されてるだろ?

174 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:29:04.07 ID:U+wxsv9j0.net]
任意にコピーとポインタとムーブを使い分けることになんの苦労も無いと思うけど

175 名前: mailto:sage [2019/06/25(火) 21:29:56.71 ID:eaNcyZwN0.net]
>>172
私は逆を考えていました、すなわち、配列ですら値渡しであるべきかと
参照渡しにしたいのなら、そのすべてに * をつけて明示するべき

176 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:32:48.81 ID:6yREXBxQ0.net]
そうではなくて
構造体において何も考えずに代入した場合
実体のコピーになるって話では
その点、配列では実体のコピーにならないので
JavaやC#のオブジェクトに近い仕様で
なかなか先鋭的

177 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:44:51.24 ID:6yREXBxQ0.net]
そんなことより
コンストラクタで自分自身のshared_ptrが欲しい時
どうするの?
欲しい理由としては、どっかシステム的なところにattachしたり
自分のコンポジションした子供たち?に渡したり
そういうことをコンストラクタですっかりしたい場合どうすんの
enable_shared_from_thisを継承して二段階初期化ってのもかっこ悪いし
(↑生成する側がshared_ptrを使ってくれなかった場合
 クラッシュするってのは置いておいてさ)

そもそも実行時型情報なんて反則が許されるなら
仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
って仕様でもよかっただろ?
スマポ側が参照カウンタを持っているってのは一見賢そうだけど…
上手くいかないパターンもあるよね



178 名前:デフォルトの名無しさん [2019/06/25(火) 21:48:45.68 ID:6yREXBxQ0.net]
>仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている

↑これはちょっと不正確だな
vtableと一緒に参照カウンタ〜
が正解かな

179 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:52:05.85 ID:zDe7yE4Q0.net]
ファクトリでやれ

180 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:54:23.16 ID:jeBecXDk0.net]
>>177
create関数でshare作ってから後の構築処理して返すしかないんじゃね

181 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 00:01:25.34 ID:7raG/MY10.net]
有害でしかない美意識は投げ捨ててshared_form_this使えって話になるだろ

182 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 00:07:57.67 ID:HPTAJdxK0.net]
それでもコンストラクタでは使えないから二段階初期化になるな

183 名前:デフォルトの名無しさん [2019/06/26(水) 00:27:47.77 ID:3ywCP3+N0.net]
ちょっと質問なんですが、どういうときに必要になるんですか?

184 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 01:38:39.12 ID:kcNPbTTh0.net]
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は異なるアーキ
テクチャに対して利用できるプログラミングモデルを構築することで、さまざまなコン
ピューティングアーキテクチャに対して同じコードベースで開発を進められる仕組みを
実現することを目指していると見られる。

185 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 04:17:13.86 ID:0Jy9MjGr0.net]
結論
使えない

186 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 06:38:56.80 ID:LU29nklf0.net]
>>177
相互参照自体がクソ汚い設計なんだからツールがいくら綺麗になってもダメ。
諦めてthis渡せや。

187 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 07:32:00.47 ID:ICIJHbsn0.net]
>>184
OpenCLとの違いは何



188 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 07:40:21.71 ID:0Jy9MjGr0.net]
異なるアーキテクチャに対応
高額
インテルサポートあり

189 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 08:12:04.77 ID:x0x3rSL40.net]
OpenCLがずっと停滞気味なのに業を煮やしたんじゃね

190 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 12:31:58.13 ID:ghoq0O6D0.net]
Intelは、CPU内臓のGPUを自前で作ってるから、そのための開発環境は
重要で、実行時のパイプライン関連のさまざまな高速化においても、
共通の技術が使えるので開発するメリットは大きいのだろうと思う。
レジスタ割付、ループ関連の最適化などは、CPUを実行する段階でも
似たことが行われる。

191 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 12:39:28.47 ID:Lh4/MgoYa.net]
そんなくだらんライブラリ作ってる暇あったらCUDA互換のランタイムだせーい

192 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 12:57:05.45 ID:ghoq0O6D0.net]
言語ではなくて、テンプレートライブラリなの?

193 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 17:24:56.62 ID:hivlE/XW0.net]
海外のニュースサイト見ても言語と書いてある






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<46KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef