Для тех, кто хочет сделать мир лучше.
-
nikit-xxx
- Лейтенант

- Сообщения: 208
- Зарегистрирован: 28.11.2007
- Благодарил (а): 44 раза
- Поблагодарили: 5 раз
#181
Сообщение
11.01.2012, 20:58
есть ли здесь какой-либо более глубокий смысл, чем "ещё раз напомнить что sqrt возвращает число типа double" ?[/offtop]
-
nikit-xxx
- Лейтенант

- Сообщения: 208
- Зарегистрирован: 28.11.2007
- Благодарил (а): 44 раза
- Поблагодарили: 5 раз
#183
Сообщение
11.01.2012, 21:14
фрагмент из K&R, "6.1. Основы работы со структурами"
-
NiGHt-LEshiY
- Полковник

- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
-
Контактная информация:
#184
Сообщение
11.01.2012, 22:08
==
Объявляется переменная dist типа double, затем прототип функции sqrt, принимающей и возвращающей double.
Таким образом можно не подключать "math.h", потому как этот прототип соответствует тому, что находится в данном заголовочном файле.
-
nikit-xxx
- Лейтенант

- Сообщения: 208
- Зарегистрирован: 28.11.2007
- Благодарил (а): 44 раза
- Поблагодарили: 5 раз
#186
Сообщение
14.01.2012, 19:16
Собственно возник ещё вопрос,
в каких случаях лучше объявить стандартную библиотечную функцию, записав её прототип;
и в каких случаях лучше при помощи заголовочного файла?
Где об этом можно почитать? нашёл
http://ru.wikipedia.org/wiki/Заголовочный_файл
Последний раз редактировалось
nikit-xxx 14.01.2012, 19:24, всего редактировалось 1 раз.
-
NiGHt-LEshiY
- Полковник

- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
-
Контактная информация:
#187
Сообщение
14.01.2012, 19:19
nikit-xxx
Лучше всегда подключать заголовочный файл.
-
GanGSISoft
- Полковник

- Сообщения: 1430
- Зарегистрирован: 27.03.2008
- Откуда: Бацькаўшчына
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
-
Контактная информация:
#188
Сообщение
27.01.2012, 16:25
Часто в названиях констант или в функций в C/C++ встречается два или одно подчёркивание, что это значит?
-
Pr0Ger
- Модератор

- Сообщения: 1829
- Зарегистрирован: 16.01.2009
- Благодарил (а): 17 раз
- Поблагодарили: 214 раз
-
Контактная информация:
#189
Сообщение
27.01.2012, 16:36
не знаю как в C/C++, в Python так принято обозначать объекты предназначенные для внутреннего использования (_ считается protected, __ - private)
-
NiGHt-LEshiY
- Полковник

- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
-
Контактная информация:
#190
Сообщение
27.01.2012, 17:10
GanGSISoft
Называется "Reserved for Implementation Use", если не ошибаюсь. Функции с подчёркиваниями обычно не используются напрямую, а вызываются каким-либо образом одноимёнными функциями без подчёркивания.
-
GanGSISoft
- Полковник

- Сообщения: 1430
- Зарегистрирован: 27.03.2008
- Откуда: Бацькаўшчына
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
-
Контактная информация:
#191
Сообщение
28.01.2012, 11:58
NiGHt-LEshiY
А какая разница между одним или двумя подчёркиваниями?
И к константам тоже относится?
Почему ifdef WIN32 а ifdef __unix?
-
NiGHt-LEshiY
- Полковник

- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
-
Контактная информация:
#192
Сообщение
28.01.2012, 12:01
GanGSISoft
Какая-то разница может и есть. Например, с двумя подчёркиваниями определяется на высшем уровне (unix, posix), а с одним - в локальных либах. Это предположение.
Так посмотришь предопределённые макросы. Там достаточно макросов и с одним подчёркиванием и с двумя.
-
GanGSISoft
- Полковник

- Сообщения: 1430
- Зарегистрирован: 27.03.2008
- Откуда: Бацькаўшчына
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
-
Контактная информация:
#193
Сообщение
04.03.2012, 19:10
В codeblocks с gcc если я из cpp файла обращаюсь к функции которая описана в с файле то при линковке получаю ошибку "undefined reference to `itoa(long)'" а если обращение заключить в #ifdef #endif то линкуется нормально. Как это полечить?
Добавлено спустя 2 минуты 46 секунд:
Делаю игру для себя, писал без использования классов, но решил сделать с классами(а то C++ уже забыл), да и удобнее в моём случае. Вот только как следует сделать, обсолютно всё перевести на классы, даже самые мелочи(как в Java), или классами сделать только крупные объекты?
-
NiGHt-LEshiY
- Полковник

- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
-
Контактная информация:
#194
Сообщение
04.03.2012, 19:22
В codeblocks с gcc если я из cpp файла обращаюсь к функции которая описана в с файле то при линковке получаю ошибку "undefined reference to `itoa(long)'" а если обращение заключить в #ifdef #endif то линкуется нормально. Как это полечить?
ээм.. что?
Добавлено спустя 26 секунд:
А, понял. extern "C". google it.
-
GanGSISoft
- Полковник

- Сообщения: 1430
- Зарегистрирован: 27.03.2008
- Откуда: Бацькаўшчына
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
-
Контактная информация:
#195
Сообщение
06.03.2012, 23:19
NiGHt-LEshiY, спасибо.
Можно в gtk заставить выполняться функцию guis_pressing_key при нажатии клавиши
g_signal_connect(GTK_OBJECT(window), "key_press_event", G_CALLBACK(guis_pressing_key), this);
Но не получается сделать так, если функция guis_pressing_key является членом класса(не компилируется), как это сделать?
Добавлено спустя 47 минут 46 секунд:
И ещё одна не решимая проблема, если я из класса A вызываю метод класса B который вызывает метод класса A то если этот метод обращается к переменным класса то программа падает.