C++相談室 part143at TECH
C++相談室 part143 - 暇つぶし2ch173:デフォルトの名無しさん
19/06/25 21:26:08.00 i1Zv6l/dM.net
えっ
普通は呼吸をするように
const T& var
て書く様に訓練されてるだろ?

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

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

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

177:デフォルトの名無しさん
19/06/25 21:44:51.24 6yREXBxQ0.net
そんなことより
コンストラクタで自分自身のshared_ptrが欲しい時
どうするの?
欲しい理由としては、どっかシステム的なところにattachしたり
自分のコンポジションした子供たち?に渡したり
そういうことをコンストラクタですっかりしたい場合どうすんの
enable_shared_from_thisを継承して二段階初期化ってのもかっこ悪いし
(↑生成する側がshared_ptrを使ってくれなかった場合
 クラッシュするってのは置いておいてさ)
そもそも実行時型情報なんて反則が許されるなら
仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
って仕様でもよかっただろ?
スマポ側が参照カウンタを持っているってのは一見賢そうだけど…
上手くいかないパターンもあるよね

178:デフォルトの名無しさん
19/06/25 21:48:45.68 6yREXBxQ0.net
>仮想関数付きのオブジェクトは実行時型情報のどこかに参照カウンタを隠し持っている
↑これはちょっと不正確だな
vtableと一緒に参照カウンタ~
が正解かな

179:デフォルトの名無しさん
19/06/25 21:52:05.85 zDe7yE4Q0.net
ファクトリでやれ

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

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

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

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

184:デフォルトの名無しさん
19/06/26 01:38:39.12 kcNPbTTh0.net
Intel、新プログラミング言語「Data Parallel C++」を開発中
2019/06/25 11:08 後藤大地
URLリンク(news.mynavi.jp)
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:デフォルトの名無しさん
19/06/26 04:17:13.86 0Jy9MjGr0.net
結論
使えない

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

187:デフォルトの名無しさん
19/06/26 07:32:00.47 ICIJHbsn0.net
>>184
OpenCLとの違いは何

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

189:デフォルトの名無しさん
19/06/26 08:12:04.77 x0x3rSL40.net
OpenCLがずっと停滞気味なのに業を煮やしたんじゃね

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

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

192:デフォルトの名無しさん
19/06/26 12:57:05.45 ghoq0O6D0.net
言語ではなくて、テンプレートライブラリなの?

193:デフォルトの名無しさん
19/06/26 17:24:56.62 hivlE/XW0.net
海外のニュースサイト見ても言語と書いてある


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch