2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

"ゲーム開発者のための C++11~C++20, 将来の C++ の展望"によせて

Last updated at Posted at 2020-09-02

はじめに

ディするつもりはないですよ.
実際, すでに各社で自前のライブラリがあるのですよ.

私は, Androidが1.6の時代, NDKが発表された時代にSTLを捨てたので.

前提として, 世の中, 驚くべき〇〇が多いという事実を考慮しなければならない,
日本語どころかどの言葉も通じない, とんでもない人間が多いという事実.
言葉が通じない人間が, プログラミング言語が話せるはずもなく, 疲れからか黒塗りのハイエースに衝突.

項目

std::clamp

IEEE 754特有のハックも考慮してくれるなら使用していきたい.

数学定数

新規のプロジェクトなら使えるけれど, const_exprなりconst staticで再定義してしまうと思うのだけれど, どうだろう? 結構ヤバい, 変えたらヤバい何かが起きて変えられないジレンマ.

objのフォーマット互換性がないため, Visual Studioのビルドツールを更新できないヤバいプロジェクト, ヤバすぎでしょ.

std::string関係

信頼するとか無理でしょ, 歴史的に考えて. ASCIIこそ唯一のstringな人たちの仕様を, どうやって信じろと?

連想コンテナ

ああ, ゲームにあった連想配列を自前で造るのでいらないです.

using enum

わかりにくくはならなそうなので, よさそう.

コンテナの要素削除

ゲームにおいてはパフォーマンスより, ユーザエクスペリエンスこそ正義なので,
それについて問題にならないなら使いたい. ただし, 本当にまじ〇〇の人が存在しますし, 難しい.

C#だが, 本当にこれをプロダクトのコードに入れた人間がいる, 私は卒倒した.

foreach(var i in list){
    if(!i.valid()){
        list.Remove(i);
    }
}

変数未使用の警告を抑制

悪用されそうなので却下.
__super とかガチでいれてくるguyがいるので(本人はクールなプログラムをした気らしい).

ビット操作

countは移植性が保障されるなら使いたい.

std::byte

このレベルのプログラムをする人は, 分かっている人なので有用だと思う.

std::filesystem

エンジニア用のツール作成用ならあり. ASCII原理主義者の作ったライブラリなど誰が信じるのか.
名立たるC/C++の教科書がftellの扱いを間違えているのに, 信じられるのか.

構造体の初期化子

Cではすでにできていたような, 有用. 無理矢理けちをつけると, 例のD3D12_VIEWPORTは少し微妙, Vulkanをもってこようぜ, 吐き気がする.

ラムダ式

C++ではパフォーマンスに影響は少ないので気にしない.
C#ではLINQと絡まって, ひと目でわからないコードを書く人が続出するのでヤバい. 私が理解できない馬鹿だからで収まればいいが, そんなコードをあろうことかUniteで発表するプロジェクトがある, しかも1年未満でサービス終了, そういうとこやぞ.

契約による設計

広まらないね, 広めたい.

std::variant

個人的には使っても, 他人には使って欲しくないあれ, まさに共用体.

std::string_view

まじで昨日, 毎フレームstd::stringをコピーしているコードを発見してしまったのよ, やべぇよ, やべぇよ.

文字列

もう無理, だめぽ.

コルーチン

boost::contextベースで自作しているのでいらね.

アロケータ

はげそう(もう, はげてるけど). mimallocとか試しているのよ最近.

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?