Форум программистов, компьютерный форум CyberForum.ru

Работа с const - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как получить картинку с видео источника http://www.cyberforum.ru/cpp/thread349463.html
Люди пожалуйста подскажите... Как получить картинку с видео источника, меня интересует как на С++ visual studio получить входящий поток с веб камеры...(в крайнем случае на билдере) Я пытался на билдере при помощи VisionLab но у меня возникли проблемы с добавлением компонента...
C++ ffmpeg Всем привет, помогите начинающему разобраться с такой проблемой: ffmpeg + sdl - очень долго приложение сидит в функции av_find_stream_info (от 2 до 10 секунд). В чем может быть проблема? Заранее благодарен! Добавлено через 1 минуту Файлы размером, в среднем, 40 Мб. http://www.cyberforum.ru/cpp/thread348640.html
как работать с каждой цифрой четырехзначного числа по отдельности. C++
Вот есть задача на с++. Но не знаю с чего начать... как работать с каждой цифрой четырехзначного числа по отдельности.
Linker error C++
При попытке скомпилить программу выдаёт ошибки: undefined reference to `InternetOpenA@20' undefined reference to `InternetConnectA@32' undefined reference to `HttpSendRequestA@20' undefined reference to `InternetCloseHandle@4' IDE wxDev-C++, Компилятор MingW
C++ движок или игра на C++ http://www.cyberforum.ru/cpp/thread347709.html
Здравствуйте, интерестно узнать ваше мнение..что будем лучше быстрее: 1. Создать большую игру на C++ Или 2. Написать прогу т.е. движок для содания игр на C++ ?????????????????????????????
C++ поиск Handle окна, зная ControlId окна вопрос по сабжу подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17633 / 5857 / 378
Регистрация: 30.03.2009
Сообщений: 16,155
Записей в блоге: 26
10.09.2011, 10:55
Цитата Сообщение от adamo86 Посмотреть сообщение
А есть ли смысл тогда писать:

C++
1
int func(const char name)
то есть не указатель, а просто символ? Ведь все равно создается копия переменной.
С точки зрения того, кто вызывает функцию - смысла нет, потому как в прототипе модификтор const будет в данном случае игнорироваться, т.к. в прототипе функции учитывается только тип, но не имя переменной. Это легко проверить:

Код
$ cat t.cc
void func (const int x)
{
}

$ g++ t.cc -c
$ readelf --symbols t.o | grep FUNC
     8: 00000000     5 FUNC    GLOBAL DEFAULT    1 _Z4funci
$ c++filt _Z4funci
func(int)
С точки зрения того, кто пишет тело функции, модификатор имеет смысл, чтобы предотвратить собственные ошибки в случае, когда в параметр ничего нельзя записывать. Ведь параметр - это просто локальная переменная функции. Отличие параметра от локальной переменной только в том, что параметр инициализируется снаружи функции и распределяется на регистре или в стеке в соответствии с программными соглашениями, а не так, как того захочет компилятор

C
1
2
3
4
void func (const int x)
{
  x = 0;
}
На таком коде компилятор выругается. Функцию можно писать с const'ами. Но в прототипе const лучше не указывать, потому как с точки зрения вызова функции const не играет никакой роли (потому как в точке вызова создаётся копия фактического параметра), и, как уже говорилось выше, лишняя информация отвлекает. Т.е.

C
1
2
3
4
5
extern void func (int);
...
void func (const int x)
{
}
Можешь ещё почитать здесь Неочевидные ответы на простые вопросы раздел 4
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru