powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему можно обойтись без extern в предварительном объявлении
10 сообщений из 10, страница 1 из 1
Почему можно обойтись без extern в предварительном объявлении
    #39894383
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем отличается первое от второго (т.е. почему можно обойтись без extern в первом случае, которое тоже прекрасно работает)?:
1:
main.cpp:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#include <iostream>
using namespace std;

int add(int x, int y); 

int main()
{
    std::cout << "The sum of 3 and 4 is: " << add(3, 4) << std::endl;
    return 0;
}

add.cpp:
int add(int x, int y) 
{
    return x + y;
}


2:
main.cpp:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#include <iostream>
using namespace std;

extern int add(int x, int y); 

int main()
{
    std::cout << "The sum of 3 and 4 is: " << add(3, 4) << std::endl;
    return 0;
}

add.cpp:
int add(int x, int y) 
{
    return x + y;
}
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894390
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
extern предназначен для переменных, а не функций. Почитай
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894420
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry,

потому что преддекларация функции и так extern, нет тела - нет заполнения

другое дело, что иногда нужно декларацию вызова задать
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894519
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAryпочему можно обойтись без extern

Потому что нонешний Си это не давешний, а с плюсами так вообще. extern гвоздиком прибит по
умолчанию к каждой декларации функции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894554
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку.

extern для функций - это противоположность static.
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894591
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

авторПотому что нонешний Си это не давешний, а с плюсами так вообще. extern гвоздиком прибит по
умолчанию к каждой декларации функции.


К каждой декларации предварительной функции в main.cpp или где?
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894594
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAryили где?

Везде. К каждой декларации каждой функции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894635
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

main.cpp:
......
т.е в предварительных декларациях:
Код: plaintext
1.
extern int add(int x, int y);


и
Код: plaintext
1.
int add(int x, int y);


это одно и то же, так как в int add(int x, int y); подразумевается что невидимый extern уже есть, не так ли?

А в add.cpp?
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39894654
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAryА в add.cpp?

Ты не поверишь...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему можно обойтись без extern в предварительном объявлении
    #39899640
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,автор"с плюсами так вообще. extern гвоздиком прибит по
умолчанию к каждой декларации функции."
Хорошо, буду считать что extern есть даже если его нет.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему можно обойтись без extern в предварительном объявлении
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]