Предположим, у меня есть следующий класс:
class A
{
public:
static const int member_1 = 5;
static const unsigned char member_2[9] = "member_2";
static const string member_3 = "member_3";
static const int method_1(int parameter_1);
static int method_2(int parameter_1);
}
Для платформы STM32, что доступно для чтения в этом классе?
Для стандартной компоновки, тривиальной или POD типы, которые вы можете запустить is_standard_layout, is_trivial или is_pod test, если объект соответствует типу. Есть ли такой способ проверить, является ли класс ROMable?
В официальной документации Технический отчет по производительности C ++, раздел 7.1 неясно, как обстоят дела с классами с точки зрения ROMability. Моя интерпретация заключается в том, что каждый член / метод класса будет оцениваться отдельно, и если он имеет ключевое слово const, он будет доступен для чтения, а если нет, то он будет неопределенным и полностью зависит от компилятора.