Saya pernah membaca bahwa ada beberapa optimasi kompiler saat menggunakan #pragma onceyang dapat menghasilkan kompilasi yang lebih cepat. Saya tahu itu tidak standar, dan karenanya bisa menimbulkan masalah kompatibilitas lintas platform.
Apakah ini sesuatu yang didukung oleh kebanyakan kompiler modern pada platform non-windows (gcc)?
Saya ingin menghindari masalah kompilasi platform, tetapi juga ingin menghindari pekerjaan ekstra dari penjaga cadangan:
#pragma once
#ifndef HEADER_H
#define HEADER_H
...
#endif // HEADER_H
Haruskah saya khawatir? Haruskah saya mengeluarkan energi mental lebih lanjut untuk ini?
#pragma oncetampaknya menghindari beberapa masalah tampilan kelas di VS 2008. Saya sedang dalam proses menyingkirkan penjaga termasuk dan mengganti mereka semua dengan#pragma oncealasan ini.