Catatan: Ini bukan pertanyaan 'berikan pendapat Anda' tentang C ++ 03 dan C ++ 11.
Mesin permainan kami, yang ditulis dalam C ++ 03, dirancang untuk dikompilasi pada Windows, OSX dan iOS. Dukungan Linux direncanakan dalam waktu dekat. Pengalaman kami terbatas ketika datang ke konsol, itulah sebabnya saya mengajukan pertanyaan ini.
Saat ini, kami sedang memperdebatkan apakah beralih ke C ++ 11 dan menggunakan fitur yang tidak kompatibel dari standar C ++ 11 dapat menimbulkan masalah dalam waktu dekat ketika kami perlu mem-porting mesin kami ke salah satu konsol gen saat ini (mungkin kompiler yang didukung oleh beberapa konsol (s) belum mendukung C ++ 11? Kami tidak tahu ...).
Jadi, pengembang game yang memiliki pengalaman di berbagai platform dan konsol, apakah Anda pikir kami harus tetap berpegang pada C ++ 03 sampai generasi baru konsol tiba dan sebagian besar orang telah beralih ke standar C ++ 11 (sudahkah itu?). Atau sebagian besar konsol menggunakan / mendukung kompiler (VC ++, GCC atau varian?) Yang sudah mendukung fitur C ++ 11?
sumber
Jawaban:
Jika Anda mengandalkan kode Anda untuk membayar makanan dan tempat tinggal, dan Anda perlu mendukung cross-platform di platform masa depan yang tidak diketahui (atau mungkin perlu mendukung cross-platform di masa depan), maka rancang kode Anda untuk mengandalkan sekelompok kepatuhan yang benar penulis compiler tidak diketahui untuk standar bahasa tepi pendarahan adalah berbahaya (dan saya berpendapat, tidak bertanggung jawab). Ini berbahaya bagi Anda, dan karenanya juga berbahaya bagi tanggungan Anda.
Jika Anda bersedia mengambil risiko semacam itu demi
auto
, maka tentu saja, lakukanlah. Tetapi saya tidak akan menyarankan Anda untuk melakukannya.Karena menurut pengalaman saya, lintas platform, terutama pada konsol , paling baik dilakukan dengan membidik penyebut umum terendah yang dapat Anda yakini akan bekerja di mana saja, bukan dengan mengandalkan semua fitur bahasa jagoan terbaru. Jika suatu hari Anda perlu port ke platform yang tidak mendukung mereka, Anda akhirnya harus menulis ulang sistem Anda dari awal. Bisakah Anda membayar upah / sewa saat itu terjadi?
sumber
Jika Anda bersedia melakukan sedikit lebih banyak pekerjaan, Anda bisa mencari solusi refractoring. dentang memiliki beberapa hal menarik yang terjadi di daerah itu saat ini. Seharusnya dimungkinkan untuk menggunakan kata kunci otomatis, menjalankannya melalui refactorer yang akan menemukan semua kegunaannya, menyelesaikannya untuk Anda dan mengeluarkan kode lalu kompilasi dengan apa pun yang Anda inginkan.
Tapi itu berarti lebih sedikit waktu untuk mengerjakan gim Anda.
Ada juga potensi untuk beberapa fitur tambahan, misalnya refleksi. Anda bisa membuat kelas dan secara otomatis menghasilkan daftar semua properti untuk diperiksa saat runtime. Bisa jadi sangat berguna untuk scripting, memproduksi editor game dan sebagainya. EDIT: Lihat clreflect .
http://cppnow.org/session/refactoring-c-with-clang/
http://www.youtube.com/watch?v=mVbDzTM21BQ
http://clang.llvm.org/docs/Tooling.html
http://clang.llvm.org/docs/RAVFrontendAction.html
sumber
2to3
tetapi secara terbalik dan jauh lebih mengagumkan tetapi mungkin lebih sulit untuk digunakan. ***, seberapa banyak yang bisaauto
didapat?