Второй констант означает «Запрос», эта функция не может изменить переменную-член и не может вызвать неконстантную функцию.
Да, это правильно.
volatile void Function1 ();
Тип возвращаемого значения volatile?
Возвращаемый тип функции здесь void
(ничего не значит).Если он ничего не возвращает, нет смысла указывать, что возвращаемое ничто будет volatile
.volatile
предшествующая пустота будет избыточной.
Если тип возвращаемого значения был int
, то да, volatile
, предшествующий ему, применяется к типу возвращаемого значения.Это означает, что это возвращаемое значение может быть взято только в типе переменной, который volatile
.
void Function2 () volatile;
Функция может вызывать только volatile функции?Зачем добавлять сюда летучие?Любой пример?
Да, это правильно.Смотрите пример кода ниже, который демонстрирует это.
volatile void Function3 () volatile;
Это действительно?Если да, это просто сочетание случая 1 и случая 2?
* В случае 1 volatile
является избыточным. Если функция возвращает void
(ничего), то не имеет смысла, что возвращаемое значение будет volatile
, поэтому, по сути, выше, эквивалентнотолько случай 2.
пример Пример :
#include<iostream>
class Myclass
{
public:
volatile int i;
Myclass():i(10){}
void doSomething()
{
std::cout<<"\nInside doSomething";
}
void doSomethingMore() volatile
{
std::cout<<"\nInside doSomethingMore";
doSomething(); //Error
}
};
int main()
{
Myclass obj;
obj.doSomethingMore();
return 0;
}
"Is Query" Можете ли вы дать достойное имя / псевдонимв "изменчивый" в случае 2?Я имею в виду, что всякий раз, когда мы называем это имя, мы можем знать, что речь идет о случае 2, а не случае 1.
Следуйте простому правилу:
Всякий раз, когда volatile
или const
ключевые слова появляются в конце подписи функции в объявлении или определении, ключевое слово применяется к функции.
Это связано с тем, что все, что предшествует сигнатуре функции, относится к типу возвращаемого значения.
Более разумно использовать ключевое слово volatile
, предшествующее сигнатуре функции, поскольку оно точно указывает на цель.думаю, вам следует придерживаться этого стандартного способа, потому что он демонстрирует намерение более четко, чем любой псевдоним.