2015-12-09 3 views
2

Вот программа с прототипом функции.Функция Prototyping, Program Pause

#include <iostream> 
using namespace std; 

void print(string name); 

int main(void) 
{ 
    string user; 
    cout << "Hello, what's your name?"; 
    cout << "Name: "; 
    print(user); 
    return(0); 
} 

void print(string name) 
{ 
    cout << "Hello " << name << " my dear friend! :) \n"; 
} 

Я понимаю, что функция прототипирование является способом предупреждения компилятора, что (в нашем случае), void print(string name) находится где-то в программе. Так как компьютер «читает» слева направо, сверху вниз, возможно ли (или, вернее, логично), что программа «приостанавливается», когда копутер выполняет поиск функции во время выполнения?

+2

Функциональные вызовы (те, которые не вызываются через указатели функций) разрешаются во время компиляции. C++ не является интерпретированным языком. – owacoder

+1

В этом случае это не просто прототип функции, но это декларация. – user463035818

ответ

3

Поскольку компьютер «читает» слева направо, сверху вниз, возможно ли (или, вернее, логично), что программа «приостанавливается», когда комендант выполняет поиск функции во время выполнения?

Вызов print в main (и любые другие функции, которые могут вызвать функцию) разрешен во время компоновки. Во время выполнения поиска нет необходимости.

Смежные вопросы