void do_something() {....}
struct dummy
{
//even I dont call this, compiler will call it fall me, they need it
void call_do_something() { this->do_something_member(); }
void do_something() {....}
};
В соответствии с тем, что я знаю, каждый класс или структура в С++ будет подразумевать вызов этот указатель, если вы хотите получить доступ к элементу данных или функции-члена класса, это приведет к снижению производительности на С++?
Я имею в виду
int main()
{
do_something(); //don't need this pointer
dummy().call_do_something(); //assume the inline is prefect
return 0;
}
call_do_something нужен этот указатель для вызова функции-члена, но C, как do_something, не нужен этот указатель, привел бы этот указатель некоторое снижение производительности при сравнении с C-подобной функцией?
У меня нет смысла делать какую-либо микро-оптимизацию, так как это может вызвать у меня столько но всегда не приносят мне хорошего результата, я всегда придерживаюсь правила "меры, не думаю". Я хочу знать, что этот указатель принесет штраф за исполнение или нет из-за любопытства.