Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.04.13;
Скачать: CL | DM;

Вниз

в Си функция объявлена как static   Найти похожие ветки 

 
KilkennyCat ©   (2013-10-16 08:03) [0]

объявленные в этой функции переменные наследуют static?


 
Inovet ©   (2013-10-16 08:22) [1]

Нет. Такая функция не привязвна к экземпляру класса.


 
KilkennyCat ©   (2013-10-16 08:43) [2]

ага. спасибо.


 
Mystic ©   (2013-10-16 08:45) [3]

Нет, просто данная функция не попадает в объектный файл, соответственно не может быть использована в другой единице трансляции.

Например, следующие два файла нормально скомпилируются и будут работать. Но если убрать static, то будет ошибка линковки (duplicate echo_filename).

// file1.c

static void echo_filename()
{
 printf("file1.c\n");
}

void f1()
{
 echo_filename();
 printf("f1\n");
}

// file2.c

static void echo_filename()
{
 printf("file2.c\n");
}

void f2()
{
 echo_filename();
 printf("f2\n");
}



> Такая функция не привязвна к экземпляру класса.


В си нету классов


 
Inovet ©   (2013-10-16 09:20) [4]

> [3] Mystic ©   (16.10.13 08:45)
> В си нету классов

Действительно.


 
KilkennyCat ©   (2013-10-16 10:22) [5]


> Mystic ©   (16.10.13 08:45) [3]

хм... а я прочитал, что для подобных целей namespace


 
Mystic ©   (2013-10-16 11:49) [6]


> хм... а я прочитал, что для подобных целей namespace


namespace (анонимные) это C++, в С нет namespace. Но для совместимости C++ должен понимать C.

Ну и static короче, в анонимный namespace больше классы оборачивают. static часто с инлайнами используется. Также static позволяет сделать forward декларацию, ...


 
KilkennyCat ©   (2013-10-16 11:59) [7]

ага, понял. спасибо.


 
Mystic ©   (2013-10-16 12:39) [8]

Ну а применительно к методам класса в C++ static работает так, как сказал > Inovet ©   (16.10.13 08:22) [1]



Страницы: 1 вся ветка

Текущий архив: 2014.04.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.004 c
2-1372751242
10JQKA
2013-07-02 11:47
2014.04.13
возврат строки как olevariant в ком-сервере


15-1382301002
Юрий
2013-10-21 00:30
2014.04.13
С днем рождения ! 21 октября 2013 понедельник


15-1382560202
Юрий
2013-10-24 00:30
2014.04.13
С днем рождения ! 24 октября 2013 четверг


2-1372603268
dnetclah
2013-06-30 18:41
2014.04.13
Программное редактирование определенного столбца в stringGrid


2-1372357654
fvffdfhy
2013-06-27 22:27
2014.04.13
Запрос на уникальные позиции