「MetalとC++の違い」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
26行目: | 26行目: | ||
* ポインタに若干の制限がある。 | * ポインタに若干の制限がある。 | ||
** エントリーポイントの引数はポインタで宣言する必要がある。 | ** エントリーポイントの引数はポインタで宣言する必要がある。 | ||
+ | ** device, constant, threadgroup, threadgroup_imageblockもポインタ。 | ||
** 関数ポインタはMetal 2.3から使える。それ以前のバージョンでは使えない。 | ** 関数ポインタはMetal 2.3から使える。それ以前のバージョンでは使えない。 | ||
32行目: | 33行目: | ||
ざっと見た感じC++がベースである必要性がまったくないな。 | ざっと見た感じC++がベースである必要性がまったくないな。 | ||
+ | |||
+ | == 関連項目 == | ||
+ | * [[Metalのコンパイラとプリプロセッサ]] | ||
+ | |||
+ | [[category: Metal]] |
2022年6月8日 (水) 02:11時点における最新版
オーバーロード[編集 | ソースを編集]
MetalでもC++と同様に関数のオーバーロードは使用できる。ただしシェーダーのエントリーポイントとなる関数に関してはオーバーロードできない。
テンプレート[編集 | ソースを編集]
プリプロセッサ[編集 | ソースを編集]
制限事項[編集 | ソースを編集]
- ラムダ式
- dynamic_cast 演算子
- typeid 演算子
- new および delete 演算子
- noexcept 演算子
- goto 文
- register および thread_local 属性
- virtual 属性
- 派生クラス
- 例外処理
- C++の標準ライブラリ
- 代わりにMetalの標準ライブラリが用意されている。
- ポインタに若干の制限がある。
- エントリーポイントの引数はポインタで宣言する必要がある。
- device, constant, threadgroup, threadgroup_imageblockもポインタ。
- 関数ポインタはMetal 2.3から使える。それ以前のバージョンでは使えない。
- 再帰的関数呼び出しにも制限がある。
- Metal 2.4以降、かつコンピュートシェーダーのみ利用可能。
ざっと見た感じC++がベースである必要性がまったくないな。