Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2012, 03:31   #11
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Проблемы по большей части надуманны. В серьёзных проектах часто не используют стандартную библиотеку вообще или лишь в малых объёмах, в угоду чему-нибудь вроде Qt или boost. И если в Qt имена хоть более-менее уникальны (предваряются q или Q), то в boost все конфликты устраняются исключительно за счёт пространств имён. И как-то особо не жалуются люди.

Да и при использовании какого-нибудь IntelliSense или ctags будет красиво высвечиваться
Код:
bool write (FILE *f, const char *string);
и сразу будет видно, что нужен именно массив читаемых символов, а не просто какой-то мусор. + к читабельности. И уж не понять, чем же здесь на самом деле является string может только школьник, впервые открывший книгу по C++.

Так что никаких убытков. Тем более, что говорим мы сейчас, почему-то больше о C++, хотя, как это было замечено ранее, программа написана на C и у программистов её поддерживающих, точно не будет никаких конфликтов.
netrino вне форума Ответить с цитированием
Старый 07.07.2012, 03:44   #12
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
если в Qt имена хоть более-менее уникальны (предваряются q или Q), то в boost все конфликты устраняются исключительно за счёт пространств имён. И как-то особо не жалуются люди.
Проблемы начнутся и под кьютом, если пользователи начнут шлепать имена предваряя их q или Q

А что касается буста - ну, это же конгломерат библиотек писанных всеми, кому было не лень. Уж где где, а в бусте говнокод тот ещё.

Цитата:
Сообщение от netrino Посмотреть сообщение
Да и при использовании какого-нибудь IntelliSense или ctags будет красиво высвечиваться
Код:
bool write (FILE *f, const char *string);
Высвечивает, что стринг - это имя переменной, а не тип.
Однако, все равно, вызывает недоумение. И придется пасти что есть что.


Цитата:
Сообщение от netrino Посмотреть сообщение
хотя, как это было замечено ранее, программа написана на C и у программистов её поддерживающих, точно не будет никаких конфликтов.
Сишный стиль не делает код "написанным на си". С тем же успехом он может быть "написанным на с++".
_Bers вне форума Ответить с цитированием
Старый 07.07.2012, 03:58   #13
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
А что касается буста - ну, это же конгломерат библиотек писанных всеми, кому было не лень. Уж где где, а в бусте говнокод тот ещё.
Говнокод говнокодом, но библиотека используется и весьма успешно, не смотря на описанные Вами "проблемы".

Цитата:
Сообщение от _Bers Посмотреть сообщение
Сишный стиль не делает код "написанным на си". С тем же успехом он может быть "написанным на с++".
Цитата:
Сообщение от pufystyj
А вот код ObjModel.c
netrino вне форума Ответить с цитированием
Старый 07.07.2012, 04:06   #14
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Говнокод говнокодом, но библиотека используется и весьма успешно, не смотря на описанные Вами "проблемы".
Дайте угадаю: в бусте есть string?
И о боже! Там нет стринга.

Тогда дайте угадаю: в проектах, использующих буст используют имена аналогичные бустовским типам? И о боже - не используют!

Тогда давайте создадим имя переменной такое же, как у бустовского смартпоинтера. И поимеем с этим кучу проблем, начиная от упоротой в хлам читабельности.

Но что примичательно, в реальных проектах такого идиотизма не наблюдается. Это характеризует, не так ли?
_Bers вне форума Ответить с цитированием
Старый 07.07.2012, 04:16   #15
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Дайте угадаю: в бусте есть string?
И о боже! Там нет стринга.

Тогда дайте угадаю: в проектах, использующих буст используют имена аналогичные бустовским типам? И о боже - не используют!

Тогда давайте создадим имя переменной такое же, как у бустовского смартпоинтера. И поимеем с этим кучу проблем, начиная от упоротой в хлам читабельности.

Но что примичательно, в реальных проектах такого идиотизма не наблюдается. Это характеризует, не так ли?
boost::container::string
netrino вне форума Ответить с цитированием
Старый 07.07.2012, 04:42   #16
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
boost::container::string
мда. Теперь буду знать. Надеюсь мне не придется его путать со стандартным.
_Bers вне форума Ответить с цитированием
Старый 08.07.2012, 15:15   #17
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
По умолчанию

На счет всего этого я уже думал, и часть была phrase, а часть стринг (я тогда ещё не решил, что буду писать), так же с рид, я думал о конфликтах, но потом подумал, что их быть не должно. Сегодня все это прочел и чтобы всем было хорошо все string поменял на sentence (выражать этим словом строку с обьявлением координат точек не очень удобно, но пусть уже будет так), read() поменял на read_string. Удалил все static-функции из h-файла. Ошибка пропала когда добавил #include <stdio.h> забыл. А плохо, что у меня почти во всех файлах добавлен #include <stdio.h> ? Пепел феникса, там все же была только 1 ошибка
Ещё один вопрос, к примеру у меня есть такое:
Код:
typedef struct {
    float x, y, z;
} objVertex;

typedef struct {
	float x, y;
} objTVertex;

typedef struct {
    float x, y, z;
} objNormal;

typedef struct {
    objVertex **Vertex;

    objTVertex **TextureVertex;

    objNormal **Normal;

    int mtl_id;
} objPolygon;
КАк сделать typedef struct статической? И можна ли перыве 3 структуры обьявить статически в h-файле, а последнюю нет? Ну то есть с точки взгляда быдлокодерства. Зарание спасиба, всем плюсы.

ПЕпел феникса, прошу прощения я не могу вам добавить репутации, где-то в другом месте добавлю, т. к. пишет:
Цитата:
Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его Пепел Феникса.
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
странная ошибка xsepox Общие вопросы Delphi 10 14.05.2012 02:03
странная ошибка Психвоплоти Помощь студентам 0 23.02.2011 15:01
Странная ошибка STIFFmaster_LP Помощь студентам 2 06.11.2009 19:11
Странная ошибка.. SnakeMan БД в Delphi 4 12.02.2009 12:43
Странная ошибка Washington БД в Delphi 2 16.03.2007 18:13