powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Некоторые вопросы о программировании на C++
25 сообщений из 142, страница 1 из 6
Некоторые вопросы о программировании на C++
    #39041988
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
BS говорит, важно понять концепцию, детали не должны быть на первом месте. Думаю что он прав. Не уверен что полностью понял концепцию, для того чтобы её понять мне потребуется поучаствовать в каком-нибудь серьёзном проекте, нужен опыт, нужен не один год, и я это прекрасно понимаю. Но что-то мне стало понятно. Потому я стал тщательнее разбираться в деталях. Использую книги BS, немного Лафоре, и конечно стандарт С++. Я пробовал читать книгу Павловской, которую мне советовали, но BS мне нравится больше. Возникли некоторые вопросы, подскажите пожалуйста

1. Согласно стандарту классом в С++ будут являться объекты объявленные с ключевыми словами class, struct, union. При этом, согласно стандарту члены классы объявленные в классе с характеристикой типа class по умолчанию имеют access contol типа private, в случае иной характеристики(struct или union) объекты класса объявленные по умолчанию имеют access contol типа public.
1.1 Почему BS не оставил в языке только один class-key ? Думаю что это связано с совместимостью программ на С и С++, но не уверен в это. Потому что в таком случае объекты struct и union можно было оставить как и ранее, и не говорить что это классы, хотя с другой стороны, struct и union по сути типы определяемые пользователем, потому всё логично. Но я правильности в своих рассуждений я не могу быть уверен.
1.2 Несмотря на то, что стандартом строго определен access contol членов класса по умолчанию существует возможность указать их в самостоятельно. Как вы поступаете в своих программах на С++ ?
1.3 Существуют ли скрытые проблемы связанные со структурами и объединениями связанные с новой трактовкой данных элементов в С++ при переносе программ из С на С++ ?
1.4 Часто ли вы определяете объекты union в своих программах?
2. Что такое пространство имён, и зачем оно нужно я понимаю. И мне нравится этот механизм. Мне кажется что каждый объект программы (каждый пользовательский класс) должен быть описан с использованием данного механизма. Это точно не будет ошибкой, и всегда может потребоваться при расширении программы. Используете ли вы данный механизм в своих программах ? Как часто ?
3. BS говорит -объявление класса, далее о том, что исторически сложилась фраза определение класса, а позже говорит представление класса. Как говорите вы ?
4. Существует ли стандарт в котором дано определение того, что такое ООП ?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39041995
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryBS говорит, важно понять концепцию, детали не должны быть на первом месте. Думаю что он прав. Не уверен что полностью понял концепцию, для того чтобы её понять мне потребуется поучаствовать в каком-нибудь серьёзном проекте, нужен опыт, нужен не один год,И нужно много языков.

SashaMercury1.1 Почему BS не оставил в языке только один class-key ? Думаю что это связано с совместимостью программ на С и С++, но не уверен в это. Потому что в таком случае объекты struct и union можно было оставить как и ранее, и не говорить что это классы, хотя с другой стороны, struct и union по сути типы определяемые пользователем, потому всё логично. Но я правильности в своих рассуждений я не могу быть уверен.Для упрощения реализации.

SashaMercury1.2 Несмотря на то, что стандартом строго определен access contol членов класса по умолчанию существует возможность указать их в самостоятельно. Как вы поступаете в своих программах на С++ ?По нужде и желанию.

SashaMercury1.3 Существуют ли скрытые проблемы связанные со структурами и объединениями связанные с новой трактовкой данных элементов в С++ при переносе программ из С на С++ ? Из Си в С++? Нет перенос структур вполне прозрачен.
Но вообще-то, программы из Си в С++ никто не переносит. Не, бывают конечно идиоты которым делать нечего, и студенты которые сдают лабы лишь бы тройку получить - те да, те переносят. Вернее пытаются...

SashaMercury1.4 Часто ли вы определяете объекты union в своих программах?При нужде бывает. Но нужда возникает очень редко. Но бывает.

SashaMercury2. Что такое пространство имён, и зачем оно нужно я понимаю. И мне нравится этот механизм. Мне кажется что каждый объект программы (каждый пользовательский класс) должен быть описан с использованием данного механизма. Это точно не будет ошибкой, и всегда может потребоваться при расширении программы. Используете ли вы данный механизм в своих программах ? Как часто ?Никогда. Это абсолютно бессмысленный механизм. Сделан под давлением моды, но реальной пользы он не несет.
В пространстве имен был-бы смысл, если бы в одном проекте использовались несколько "пространств", но в С++ проще и традиционней использовать библиотеки. Каждая библиотека это уже "пространство имен". В итоге единственным фреймворком где это самое пространство имен используется является один единственный std.

SashaMercury3. BS говорит -объявление класса, далее о том, что исторически сложилась фраза определение класса, а позже говорит представление класса. Как говорите вы ? Как надо, так и говорим. Определение и представление это не синонимы, это две разные вещи.
SashaMercury4. Существует ли стандарт в котором дано определение того, что такое ООП ?Нет. Но существуют учебники. Читай про Simula & SmallTalk. Первая реализация ООП в Simula, но SmallTalk вывел ООП в люди.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042012
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl Никогда. Это абсолютно бессмысленный механизм. Сделан под давлением моды, но реальной пользы он не несет.
В пространстве имен был-бы смысл, если бы в одном проекте использовались несколько "пространств", но в С++ проще и традиционней использовать библиотеки. Каждая библиотека это уже "пространство имен". В итоге единственным фреймворком где это самое пространство имен используется является один единственный std.

Но как в таком случае решать проблемы namespace pollution (нарушение пространства имён) ? В Си стандартом фактически предлагается использование префиксов, в С++ предложили такой выход.


White Owl По нужде и желанию.


Т.е. вы можете писать по-разному ? От чего это например зависит ?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042044
BagaBaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury1.1 Почему BS не оставил в языке только один class-key ? Думаю что это связано с совместимостью программ на С и С++, но не уверен в это. Потому что в таком случае объекты struct и union можно было оставить как и ранее, и не говорить что это классы, хотя с другой стороны, struct и union по сути типы определяемые пользователем, потому всё логично. Но я правильности в своих рассуждений я не могу быть уверен.


SashaMercury, Вы можете задать этот вопрос самому BS - он отвечает, проверено )
Собственно, встречный вопрос: а зачем ему было их убирать? Напомню, в "самых истоках" C++ назывался "C with classes". Это было сделано, чтобы "заполучить" большую аудиторию программистов на С, а также большой объем кода (библиотек и пр.), который бы облегчал разработку на новом языке. А для этого нужно было обеспечить на сколько возможно полную совместимость с С. Что делать, если новые возможности сломают обратную совместимость? Это же потеря всех преимуществ. Классы. Изменение ограничения доступа по умолчанию (c public на private) - это ломающее обратную совместимость изменение. Но оно отражает переход от парадигмы "пользователь по умолчанию видит всё" к парадигме "пользователь видит только то, что мы ему явно разрешили (специфицировав публичный интерфейс)".
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlSashaMercury4. Существует ли стандарт в котором дано определение того, что такое ООП ?Нет. Но существуют учебники. Читай про Simula & SmallTalk. Первая реализация ООП в Simula, но SmallTalk вывел ООП в люди.
Не существует научного доказательства которое делает ООП более правильной методологией разработки.
Нет также сравнительных практик или оценок качества ПО которые говорят о том что одно и то-же
приложение написанное в ООП стиле лучше чем не-ООП. Скорее наоборот. Миру являет бесконечное
разнообразие опенсорцного ПО которое было написано без использования ООП и тем не менее занесено
в "жемчужины" кодо-строения.

Да и само ООП в изложении различных авторов явно плывёт. Один термин "наследование" чего стоит.
Это одна из тем бесконечных холиваров. Особенно когда новичёк начинает проводить параллели
между inheritance и наследованием в генетике. Epic fail. Эпичны также топики о наследовании квадрата
от прямоугольника.

С моей точки зрения более интересным объектом для исследования являются макросы Lisp, монады,
комбинаторы и прочие сущности мира ФП. Они просты и гениальны в своей сути.

Я ООП воспринимаю просто как объективную реальность и "джентльменские" договрённости о кодинге
внутри проекта. У меня нет амбиций в части ООП и я легко соглашаюсь с альтернативными методами
декларации чего-либо в ООП коде. Просто я не видя изменений оценки o(n) считаю что речь идёт
просто о косметике или о внешнем виде исходника.

Из учебной программы ВУЗ-ов можно спокойно убрать ООП и это не изменит качество и разнообразие
кода выпускников этого ВУЗа.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042077
BagaBaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury1.2 Несмотря на то, что стандартом строго определен access contol членов класса по умолчанию существует возможность указать их в самостоятельно. Как вы поступаете в своих программах на С++ ?

Это зависит от. Страуструп говорит, что сейчас оставил бы только public и private. Protected в настоящее время слишком часто используется неправильно и приводит к плохому дизайну.

SashaMercury1.3 Существуют ли скрытые проблемы связанные со структурами и объединениями связанные с новой трактовкой данных элементов в С++ при переносе программ из С на С++ ?

Что такое Новая Трактовка? Лучше, если на пальцах и с примерами. А то не пойму, о чем речь.

SashaMercury1.4 Часто ли вы определяете объекты union в своих программах?

Этот объект по определению не может использоваться часто. Их законное использование
- экономия памяти при необходимости хранить два "больших", но примерно соразмерных объекта в одном участке памяти (не одновременно!). Типичный (и, наверное, самый распространённый) пример: small string/buffer optimization.
- переносимая реализация разных интерфейсов ("побитового" доступа) к "сырым данным". "Вытащить бинарь" можно и другими способами, но вот все они будут не столь переносимы (и могут то работать, то не работать, например, в зависимости от ключей компиляции, например, выравнивания и пр.).
- попытка "ручного" полиморфизма, когда хранится значение и "флаг типа значения", используемый при его интерпретации.

SashaMercury2. Что такое пространство имён, и зачем оно нужно я понимаю. И мне нравится этот механизм. Мне кажется что каждый объект программы (каждый пользовательский класс) должен быть описан с использованием данного механизма. Это точно не будет ошибкой, и всегда может потребоваться при расширении программы. Используете ли вы данный механизм в своих программах ? Как часто ?

Как говорит тот же Страуструп, всякий новый инструмент проходит этап своего чрезмерного и неправильного использования. Просто люди (разработчики) так учатся его использовать. Если есть возможность, это не значит, что так надо делать всегда. Если есть ружьё, это не значит, что нужно выстрелить себе в ногу.

SashaMercury3. BS говорит -объявление класса, далее о том, что исторически сложилась фраза определение класса, а позже говорит представление класса. Как говорите вы ?

Что-то у вас сумбурно.
В С (да и С++) есть понятие definition и declaration, которые наиболее часто переводят на русский как определение и объявление. Также есть связанное с ним понятие forward declaration. Так вот, эти понятия позволяют программисту отделить описание (интерфейса, declaration) от определения/реализации (definition), что есть хорошо.
Объявление позволяет
- выделить объявления в заголовочные файлы, при включении библиотек в проект не компилировать библиотеку всякий раз, как вы её включаете (справедливости ради, в новом стандарте С++17 для этих целей предлагаются модули)
- компилятору провести синтаксическую проверку Вашего кода, не требуя наличия реализации чужих зависимостей.

Иными совами, декларация (объявление) - это просто введение соответствующего имени (и его атрибутов) в пространство имён.
Определение - это точно указанная реализация. Понятно, что объявление и определение могут быть совмещены (особенно для коротких тривиальных функций). Ну и до кучи ещё один термин - создание экземпляра класса (создание объекта). Понятно, что у Вас будет (почти всегда) не один экземпляр класса, хотя только одно объявление и определение.


Про "представление класса". Очень сложно без контекста понять, о чём у Вас идёт речь, т.к. этот термин используется очень часто , и при том с разным смыслом. Без хрустального шара я бы сказал вам посмотреть паттерны (шаблоны проектирования) Model-View-Controller, Facade, Decorator. Эти термины существуют без привязки к языку, хотя и чаше всего встречаются в контексте Java...
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042127
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlSashaMercury2. Что такое пространство имён, и зачем оно нужно я понимаю. И мне нравится этот механизм. Мне кажется что каждый объект программы (каждый пользовательский класс) должен быть описан с использованием данного механизма. Это точно не будет ошибкой, и всегда может потребоваться при расширении программы. Используете ли вы данный механизм в своих программах ? Как часто ?Никогда. Это абсолютно бессмысленный механизм. Сделан под давлением моды, но реальной пользы он не несет.
В пространстве имен был-бы смысл, если бы в одном проекте использовались несколько "пространств", но в С++ проще и традиционней использовать библиотеки. Каждая библиотека это уже "пространство имен". В итоге единственным фреймворком где это самое пространство имен используется является один единственный std.во, и пространства имён ему не угодили ))) эти то чем провинились?

SashaMercury - не слушай WhiteOwl, пространства имён полезны и удобны. Позволяют сократить код, разнести прикладную логику по собственным модулям и явно определяют зависимости между классами. Ну и облегчают именование программных объектов. Я пользуюсь постоянно.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042137
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury1.2 Несмотря на то, что стандартом строго определен access contol членов класса по умолчанию существует возможность указать их в самостоятельно. Как вы поступаете в своих программах на С++ ?если я пишу простую POD-структуру, то использую правило доступа по умолчанию, во всех остальных случаях предпочитаю разбивать класс на логические куски, и для каждого прописывать явно уровни доступа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
class MyEvilClass
{
// конструирование
public:
    MyEvilClass( ... );
    ~MyEvilClass() {}
// копирование и присваивание запрещены
private:
   MyEvilClass( MyEvilClass );
   MyEvilClass & operator=( MyEvilClass );
// данные класса
private:
   ...
// методы доступа
public:
   ...
// чтение из файла
public:
    read( const std::string &infilename );
private:
    bool readString( ... );
    void parseString( ... );
// запись в файл
public:
    write( const std::string &outfilename );
private:
    prepareString( ... );

   ...

};  // class MyEvilClass
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042141
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury1.1 Почему BS не оставил в языке только один class-key ? Думаю что это связано с совместимостью программ на С и С++, но не уверен в это. Потому что в таком случае объекты struct и union можно было оставить как и ранее, и не говорить что это классы, хотя с другой стороны, struct и union по сути типы определяемые пользователем, потому всё логично. Но я правильности в своих рассуждений я не могу быть уверен.правильно рассуждаешь.

Потом почитай дизайн и эволюция С++ , там он отвечает на подобные вопросы, ну и вообще познавательно
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042162
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychWhite Owlпропущено...
Никогда. Это абсолютно бессмысленный механизм. Сделан под давлением моды, но реальной пользы он не несет.
В пространстве имен был-бы смысл, если бы в одном проекте использовались несколько "пространств", но в С++ проще и традиционней использовать библиотеки. Каждая библиотека это уже "пространство имен". В итоге единственным фреймворком где это самое пространство имен используется является один единственный std.во, и пространства имён ему не угодили ))) эти то чем провинились?

SashaMercury - не слушай WhiteOwl, пространства имён полезны и удобны. Позволяют сократить код, разнести прикладную логику по собственным модулям и явно определяют зависимости между классами. Ну и облегчают именование программных объектов. Я пользуюсь постоянно.
В dotNet кажется уже ввели а в Java только в фазе обсуждений т.н. модуляризация или модульность Classes.
Это еще один из векторов деления функционала. Скорее всего ориентированного на быструю загрузку ядра
системы и прикладного кода а также на улучшение процесса управления исходным кодом на уровне merge
GIT/SVN/Mercurial.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042166
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марк, а разве в Java не package решает эту проблему ?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042173
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BagaBaga,
Это зависит от. Страуструп говорит, что сейчас оставил бы только public и private. Protected в настоящее время слишком часто используется неправильно и приводит к плохому дизайну.
Полностью поддерживаю. На одном из скрам-митингов в Java-проекте мы потратили несколько часов
яростных споров по поводу protected в части одного рефакторинга. Я был удручён. Был фикс во внутренние
документы касающиеся Code-Style agreement внутри team. И мы решили отказаться от явного использования
protected в данном проекте (в некотором скоупе).
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042210
wst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По 1.2 есть куда более простой и очевидный ответ - класс у которого все private в общем случае полностью бесполезен.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042223
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryМарк, а разве в Java не package решает эту проблему ?
Ммм.... не уверен.

Я навскидку не помню первоисточник. Но для начала лучше почитать эту статью
http://www.javaworld.com/article/2878952/java-platform/modularity-in-java-9.html
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042400
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury1.4 Часто ли вы определяете объекты union в своих программах?
Как класс, с методами - редко, но бывает.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
union ip_header_t
{
    ip4_header_t v4;
    ip6_header_t v6;

    //helpers
    tcp_header_t *find_tcp_header();
    boost::uint16_t tot_len() const;
    boost::asio::ip::address saddr() const;
    boost::asio::ip::address daddr() const;
    boost::uint8_t version() const { return v4.version; }
};
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042410
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНикогда. Это абсолютно бессмысленный механизм.
Используется в качестве костыля для получения internal linkage типов в новых стандартах.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042413
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychне слушай WhiteOwl
Из тех что я видел, это лучший совет по изучению С++.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042579
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury1.1 Почему BS не оставил в языке только один class-key ? Думаю что это связано с совместимостью программ на С и С++, но не уверен в это.


Именно поэтому.

SashaMercuryПотому что в таком случае объекты struct и union можно было оставить как и ранее, и не говорить что это классы, хотя с другой стороны, struct и union по сути типы определяемые пользователем, потому всё логично. Но я правильности в своих рассуждений я не могу быть уверен.


А как тогда от них наследоваться, если это не классы ?


SashaMercury1.2 Несмотря на то, что стандартом строго определен access contol членов класса по умолчанию существует возможность указать их в самостоятельно. Как вы поступаете в своих программах на С++ ?


Абы как. чаще всего в больших классах есть три секции , private/protected/public, где и описываются соответств. члены.
Часто такие секции дублируются отдельно для данных.
Иногда секции множатся. Ничего страшного нет.

SashaMercury1.3 Существуют ли скрытые проблемы связанные со структурами и объединениями связанные с новой трактовкой данных элементов в С++ при переносе программ из С на С++ ?


Нет. Даже если есть проблемы -- они не скрытые, а явные. :-)


SashaMercury1.4 Часто ли вы определяете объекты union в своих программах?


Очень редко. UNION-ы должны быть POD, и не должны быть членами не POD классов (кажется, так по стандарту), поэтому их применение весьма ограничено в C++, фактически оно сводится к тем функциям, которые возложены на UNION в языке C.

SashaMercury2. Что такое пространство имён, и зачем оно нужно я понимаю. И мне нравится этот механизм. Мне кажется что каждый объект программы (каждый пользовательский класс) должен быть описан с использованием данного механизма. Это точно не будет ошибкой, и всегда может потребоваться при расширении программы. Используете ли вы данный механизм в своих программах ? Как часто ?


Ну, пространство std используется очень часто. Также часто пространства boost-а.
Но вообще пространства имён нужны как воздух только для библиотечного кода, повторноиспользуемого. Там это-- must.
Но и то, до введения стандарта было настругано дофигища кода, и он как-то работал без неймспейсов. Некоторые люди по
старой традиции их вообще не используют в своём коде. Так что очень всё зависит от проекта.

SashaMercury3. BS говорит -объявление класса, далее о том, что исторически сложилась фраза определение класса, а позже говорит представление класса. Как говорите вы ?


Это я не понял. Есть предварительное объявление класса, определение класса и реализация (методов и членов) класса.

SashaMercury4. Существует ли стандарт в котором дано определение того, что такое ООП ?

Нет.
Существует стандарт, где дано определение, что такое ООП с точки зрения С++.

А так в разных языках очень разные бывают объектные модели.
Некоторые очень прикольные. :-)
Например, модель питона не подразумевает ограничений на состав членов класса, эти члены могут добавляться находу во время работы программы.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042586
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryНо как в таком случае решать проблемы namespace pollution (нарушение пространства имён) ? В Си стандартом фактически предлагается использование префиксов, в С++ предложили такой выход.


Я хочу заметить, что " использование префиксов " в С не может решить данную проблему.
Проблема -- это возможное нарушение ODR при использовании множества объектных модулей и библиотек.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042786
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryНо как в таком случае решать проблемы namespace pollution (нарушение пространства имён) ?
Пойми одну простую вещь: С++ разрабатывается не по факту, а теоретиками. Теоретикам кажется что "может быть полезно то, может быть полезно сё". И они эту придумку сразу же запихивают в стандарт. Все радуются, но никто не использует.
Да, теоретически проблема namespace pollution может случиться. Когда-нибудь в будущем. В реальности она еще никогда не случалась, но теоретически она может случится.

А на практике, вот лениво мне изобретать велосипед. Я беру фреймворк А и начинаю использовать объявленные в нем примитивы. Все чудесно и замечательно. Все функции, классы и константы объявленные внутри фреймворка это namespace A.
В каком случае мне понадобится namespace B? Только в одном: если я захочу использовать одновременно с фреймворком A использовать фреймворк B. И тогда, если оба фреймворка содержат примитив foo() мне надо будет указывать из какого именно пространства имен я хочу вытаскивать это foo().

А теперь покажи мне такую пару фреймворков которые надо дополнять друг другом?



SashaMercuryWhite Owl По нужде и желанию.Т.е. вы можете писать по-разному ? От чего это например зависит ?От нужды и желания.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042791
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskyegorychне слушай WhiteOwl
Из тех что я видел, это лучший совет по изучению С++.Злые вы.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042828
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonС моей точки зрения более интересным объектом для исследования являются макросы Lisp, монады,
комбинаторы и прочие сущности мира ФП. Они просты и гениальны в своей сути.

Я ООП воспринимаю просто как объективную реальность и "джентльменские" договрённости о кодинге
внутри проекта.
Я предполагаю, ты так думаешь потому, что хорошо знаешь ООП. А функциональщину пока не очень, вот она тебе и кажется круче.
Если бы наоборот, ты варился в предыдущие годы в мире ФП, а лишь недавно попробовал ООП, то высказывал бы (возможно) противоположные мысли: Я ФП воспринимаю как объективную реальность...
С моей точки зрения более интересны наследование, полиморфизм...


maytonИз учебной программы ВУЗ-ов можно спокойно убрать ООП и это не изменит качество и разнообразие
кода выпускников этого ВУЗа.
А вот с этим я согласен.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042830
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВ dotNet кажется уже ввели а в Java только в фазе обсуждений т.н. модуляризация или модульность Classes.
Эмм... Имеются в виду частичные (разделённые) классы - partial class?

Это здорово облегчает совмещение автогенерированного кода с написанным вручную.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042849
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlAnatoly Moskovskyпропущено...

Из тех что я видел, это лучший совет по изучению С++.Злые вы.

А ты сам виноват. Приобрёл себе репутацию закоренелого олдскульного сишника -- так теперь не жалуйся.
Я и сам старый сишник, но зачем же жить всё время устарелыми категориями?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042854
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivА ты сам виноват. Приобрёл себе репутацию закоренелого олдскульного сишника -- так теперь не жалуйся.Я не жалуюсь, я хихикаю.
MasterZivЯ и сам старый сишник, но зачем же жить всё время устарелыми категориями?Потому что в новых смысла нет. Вот "Си-с-классами" это хорошо. Все остальное можно смело удалять.
Все эти шаблоны, неймспейсы, исключения, переопределение операторов - это всё нафиг не нужно. Весь этот синтаксический сахар только добавляет в код нечитабельности и возможностей ошибиться.
...
Рейтинг: 0 / 0
25 сообщений из 142, страница 1 из 6
Форумы / C++ [игнор отключен] [закрыт для гостей] / Некоторые вопросы о программировании на C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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