ホーム
おまかせ表示
ログイン
設定
MonoBookについて
免責事項
MonoBook
検索
「
MetalとC++の違い
」を編集中
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
[[Metal]]は[[C++14]]をベースに拡張と制限を加えたもの。 == オーバーロード == [[Metal]]でも[[C++]]と同様に[[関数]]の[[オーバーロード]]は使用できる。ただし[[シェーダー]]の[[エントリーポイント]]となる[[関数]]に関しては[[オーバーロード]]できない。 == テンプレート == [[Metal]]でも[[C++]]と同様に[[テンプレート]]は使える。 == プリプロセッサ == [[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++がベースである必要性がまったくないな。 == 関連項目 == * [[Metalのコンパイラとプリプロセッサ]] [[category: Metal]]
編集内容の要約:
MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MonoBook:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の確認用の質問に回答してください (
詳細
):
1たす1は?(全角で入力してください)
キャンセル
編集の仕方
(新しいウィンドウで開きます)