powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Некоторые вопросы о программировании на C++
25 сообщений из 142, страница 2 из 6
Некоторые вопросы о программировании на C++
    #39042855
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlSashaMercuryНо как в таком случае решать проблемы namespace pollution (нарушение пространства имён) ?
Пойми одну простую вещь: С++ разрабатывается не по факту, а теоретиками.



Здрасте, приехали...
Вообще-то трудно найди другой такой практически-ориентированный язык, как С++.
Если бы речь шла о Java, то я бы понял, да, она такая (одно тупое отсутствие unsigned уже многого стоит), но о С++
ну никак такого нельзя сказать.

White Owl Теоретикам кажется что "может быть полезно то, может быть полезно сё". И они эту придумку сразу же запихивают в стандарт. Все радуются, но никто не использует.
Да, теоретически проблема namespace pollution может случиться. Когда-нибудь в будущем. В реальности она еще никогда не случалась, но теоретически она может случится.


О, как Анатолий был прав!!


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

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


Например, весь BOOST...
Но с тобой на самом деле спорить бессмысленно, ты просто поставил себе в мозгу барьер, и все аргументы будут от него отскакивать.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042859
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВсе эти шаблоны, неймспейсы, исключения, переопределение операторов - это всё нафиг не нужно. Весь этот синтаксический сахар только добавляет в код нечитабельности и возможностей ошибиться.


Отлично, ты вообще думаешь, что пишешь ?
С++ задуман так, что ты можешь расширять язык новыми типами данных.
Как это делать без переопределения операций?
Как реализовать тип std::complex без перегрузок операторов ?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042873
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl... Вот "Си-с-классами" это хорошо. Все остальное можно смело удалять.
Все эти шаблоны, неймспейсы, исключения, переопределение операторов - это всё нафиг не нужно. Весь этот синтаксический сахар только добавляет в код нечитабельности и возможностей ошибиться.
Поддерживаю. "Си с сисклассами это норм", а "Си с шаблонами" редкое говно получилось.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042875
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги. Горячие эстонские модераторы. С наступающей тяпницей. Пыщ. Как обещал.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042876
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже считаю, что шаблоны в С++ появились зря, ну или в таком виде зря, но они реально прижились и решают много проблем.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042894
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжение темы namespaces.

В настоящее время существует определённое засилье ns в исходном коде Java/.Net.
Здесь думаю что проблема - в отсутствии альтернатив и в неверных рекомендациях.
Там где можно было добавить префикс - создавали package. В результате имеем
тонны кода где Document в пределах 1 classfile может быть в роли xml-документа,
pdf-документа и еще бох весть каких пакетах. Большая часть учебных примеров
не компилируется просто по причине лени авторов которые не удосужились
привести секцию imports. А ведь кроме import есть еще и dependency в формате
maven/gradle/ivy. Где ошибёшся мажорной версией - не собирается.

Ужасны также рекомендации "столпов". Эккеля, Шилдта и Хорстмана. Что у них по поводу
ns? Они рекомендуют {web-domain-name}.{technology-name}. Или + {author-name}. Или {email}.
Это же ужас! Вы себе представляете если нужно конкурирующее имя Document
в 1-й функции в качестве аргумента указать ru.sql.xml.parser.mayton.Document.
а в качестве другого аргумента такую-же колбасу. Причём принципиально несократимую.
И ни алиас не синоним не работает! Нету typedef!

Но так исторически сложилось что С++ практически не имеет того ns-hell.
В бусте и СТД имена компактны. Не создают проблем.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042913
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivВообще-то трудно найди другой такой практически-ориентированный язык, как С++.
Если бы речь шла о Java, то я бы понял, да, она такаяТы ж не подменяй понятия. Одно дело практическое использование и другое дело грамматика языка.
С точки зрения грамматики, лично меня Java полностью удовлетворяет. У меня в ней есть большие претензии к стандартным и популярным библиотекам, но с точки зрения грамматики Java очень хороша. А С++ с точки зрения грамматики - не хорош. Слишком много не нужных сущностей в нем.
Но для практически ориентированных задач, если (не нужно делать версию для Андроида) я всегда предпочту С++ (а лучше Си). Исключительно по причине того что существующие фреймворки для C++ более разумно организованы чем их кузены для Java.

MasterZivО, как Анатолий был прав!!Да, он прав. Если меня запустить преподом в класс С++, то ученики выйдут ярыми сторонниками Си.


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

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


Например, весь BOOST...Да? Ты хочешь сказать, что весь boost это фреймворк который сам дает программисту такой мизер что в дополнение к boost надо обязательно брать еще один фреймворк? А зачем тогда boost нужен?

MasterZivНо с тобой на самом деле спорить бессмысленно, ты просто поставил себе в мозгу барьер, и все аргументы будут от него отскакивать.Ну почему же. Если ты сумеешь показать мне удобное использование namespace'ов, и чтобы оно было во первых необходимо, а во вторых удобнее чем префиксы - я признаю что namespace это хорошая придумка.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042924
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivWhite OwlВсе эти шаблоны, неймспейсы, исключения, переопределение операторов - это всё нафиг не нужно. Весь этот синтаксический сахар только добавляет в код нечитабельности и возможностей ошибиться.


Отлично, ты вообще думаешь, что пишешь ?
С++ задуман так, что ты можешь расширять язык новыми типами данных.
Как это делать без переопределения операций?Методами конечно. Зачем переопределять синтаксис?

MasterZivКак реализовать тип std::complex без перегрузок операторов ?Это не правильный вопрос. Правильный вопрос будет: как реализовать тип "комплексное число"?
Например так: https://msdn.microsoft.com/en-us/library/system.numerics.complex(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1
Или так: http://introcs.cs.princeton.edu/java/97data/Complex.java.html
Или перевести компилятор в режим С99, подключить complex.h и воспользоваться стандартным типом данных.
Не, если ты уже пишешь с использованием библиотеки std, то std::complex конечно будет напрашивающимся вариантом. Но если std по каким-то причинам (хотя бы религиозным) недоступна, то всегда можно сделать тип "комплексное число" по методу показанному для первокурсников Принстона.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042925
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlMasterZivНо с тобой на самом деле спорить бессмысленно, ты просто поставил себе в мозгу барьер, и все аргументы будут от него отскакивать.Ну почему же. Если ты сумеешь показать мне удобное использование namespace'ов, и чтобы оно было во первых необходимо, а во вторых удобнее чем префиксы - я признаю что namespace это хорошая придумка.мы похожее уже обсуждали в контексте перегрузки методов. Тебя ведь не напрягает, что классы у тебя будут называться:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class DeliveryTransportBaseWidget : public MyEvilFrameworkWidget{};
class DeliveryTransportGrid : public DeliveryTransportBaseWidget{}; 
class DeliveryTransportModel : public MyEvilFrameworkModel{}
class DeliveryTransportView : public MyEvilFrameworkView{}

class DeliveryAccountsBaseWidget : public MyEvilFrameworkWidget{};
class DeliveryAccountsGrid : public DeliveryAccountsBaseWidget{}; 
class DeliveryAccountsModel : public MyEvilFrameworkModel{}
class DeliveryAccountsView : public MyEvilFrameworkView{}

//и т.д.

тебя ведь не убедишь, что так понятней и читабельней:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
namespace delivery {

namespace transport {
class BaseWidget : public myevilframework::Widget {};
class Grid : public BaseWidget{};
class Model : public myevilframework::Model {};
class View : public myevilframework::View {};
}

namespace accounts {
class BaseWidget : public myevilframework::Widget {};
class Grid : public BaseWidget{};
class Model : public myevilframework::Model {};
class View : public myevilframework::View {};
}
}

ты же скажешь: "ну и что?"
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042934
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychWhite Owlпропущено...
Ну почему же. Если ты сумеешь показать мне удобное использование namespace'ов, и чтобы оно было во первых необходимо, а во вторых удобнее чем префиксы - я признаю что namespace это хорошая придумка.мы похожее уже обсуждали в контексте перегрузки методов. Тебя ведь не напрягает, что классы у тебя будут называться:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class DeliveryTransportBaseWidget : public MyEvilFrameworkWidget{};
class DeliveryTransportGrid : public DeliveryTransportBaseWidget{}; 
class DeliveryTransportModel : public MyEvilFrameworkModel{}
class DeliveryTransportView : public MyEvilFrameworkView{}

class DeliveryAccountsBaseWidget : public MyEvilFrameworkWidget{};
class DeliveryAccountsGrid : public DeliveryAccountsBaseWidget{}; 
class DeliveryAccountsModel : public MyEvilFrameworkModel{}
class DeliveryAccountsView : public MyEvilFrameworkView{}

//и т.д.

тебя ведь не убедишь, что так понятней и читабельней:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
namespace delivery {

namespace transport {
class BaseWidget : public myevilframework::Widget {};
class Grid : public BaseWidget{};
class Model : public myevilframework::Model {};
class View : public myevilframework::View {};
}

namespace accounts {
class BaseWidget : public myevilframework::Widget {};
class Grid : public BaseWidget{};
class Model : public myevilframework::Model {};
class View : public myevilframework::View {};
}
}

ты же скажешь: "ну и что?"Скажу.

Потому что одними определениями дело не ограничивается. Классы надо не только определить, их еще и использовать надо. И получается что если я захочу одновременно использовать оба представленных View, то в первом случае я буду писать:
Код: plaintext
1.
2.
DeliveryTransportView *tView = new DeliveryTransportView();
DeliveryAccountsView *aView = new DeliveryAccountsView();



А во втором случае я буду писать:
Код: plaintext
1.
2.
delivery::transport::View *tView = new delivery::transport::View();
delivery::accounts::View *tView = new delivery::accounts::View();


либо
Код: plaintext
1.
2.
3.
using namspace delivery;
transport::View *tView = new transport::View();
accounts::View *tView = new accounts::View();


Ты точно уверен что используя namespace мы получили громадный выигрыш? И вообще что мы получили выигрыш хоть какой-нибудь?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042946
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychты же скажешь: "ну и что?"
А если ты решишь использовать свои классы вот так:
Код: plaintext
1.
2.
3.
4.
using namespace delivery::transport;
View *tView = new View();
using namespace delivery::accounts;
View *aView = new View();

то получишь верный путь к "стрельбе по собственным ногам".
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042947
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WhiteOwlИ получается что если я захочу одновременно использовать оба представленных Viewбудет такое место в программе, да. Ровно одно, в классе CentralWidget, и выглядеть оно будет примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
QActionList CentralWidget::createViews()
{
   ...
   typedef myevilframework::ActionFactory myFactory;
   return QActionList() <<
      myFactory::createView< delivery::transport::View >( ... ) <<
      myFactory::createView< delivery::accounts::View >( ... ) << 
      ... ;
}

;-))
это и к разговору о шаблонах относится, но ты и их не любишь ведь ;-))

White OwlТы точно уверен что используя namespace мы получили громадный выигрыш? И вообще что мы получили выигрыш хоть какой-нибудь?ну представь, что у тебя в этих классах методов по 15 в каждом. Ты файлы реализации хорошо представляешь себе?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042950
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlegorychты же скажешь: "ну и что?"
А если ты решишь использовать свои классы вот так:
Код: plaintext
1.
2.
3.
4.
using namespace delivery::transport;
View *tView = new View();
using namespace delivery::accounts;
View *aView = new View();

то получишь верный путь к "стрельбе по собственным ногам".ну уж нет, я фабрику нарисую. Банду четырёх читали, чай )))
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042952
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychWhiteOwlИ получается что если я захочу одновременно использовать оба представленных Viewбудет такое место в программе, да. Ровно одно, в классе CentralWidget, и выглядеть оно будет примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
QActionList CentralWidget::createViews()
{
   ...
   typedef myevilframework::ActionFactory myFactory;
   return QActionList() <<
      myFactory::createView< DeliveryTransportView >( ... ) <<
      myFactory::createView< DeliveryAccountsView >( ... ) << 
      ... ;
}

;-))
Ты все еще уверен что namespace дали тебе большой выигрыш?

egorychну представь, что у тебя в этих классах методов по 15 в каждом. Ты файлы реализации хорошо представляешь себе?А как реализация класса будет зависеть от того как класс именован???
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042961
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlТы все еще уверен что namespace дали тебе большой выигрыш?
...
А как реализация класса будет зависеть от того как класс именован???
ну ок
Код: 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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
// DeliveryTransportView.cpp
void swap( DeliveryTransportView first, DeliveryTransportView second )
{
   ...
}
DeliveryTransportView::DeliveryTransportView()
{
   ...
}
DeliveryTransportView::DeliveryTransportView( ... )
{
   ...
}
DeliveryTransportView::DeliveryTransportView( const DeliveryTransportView &rhs )
{
   ...
}
DeliveryTransportView & operator=( DeliveryTransportView rhs )
{
   ...
}
DeliveryTransportView::~DeliveryTransportView()
{
   ...
}
void DeliveryTransportView::setDelegate( const DeliveryTransportDelegate &value )
{
   ...
}
DeliveryTransportDelegate & DeliveryTransportView::getDelegate() 
{
   ...
}
const DeliveryTransportDelegate & DeliveryTransportView::getDelegate() const
{
   ...
}
void DeliveryTransportView::setParent( const DeliveryTransportGrid &parent )
{
   ...
}
DeliveryTransportGrid & DeliveryTransportView::getParent() 
{
   ...
}
const DeliveryTransportGrid & DeliveryTransportView::getParent() const
{
   ...
}
void DeliveryTransportView::setModel( const DeliveryTransportModel &value )
{
   ...
}
DeliveryTransportModel & DeliveryTransportView::getModel()
{
   ...
}
const DeliveryTransportModel & DeliveryTransportView::getModel() const
{
   ...
}
// продолжать? не? до прикладной логики мы пока ещё даже не добрались

абсолютно уверен, да )))
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042964
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychну оки даже здесь уже есть ошибка, найди её, попробуй-ка
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042975
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlТы ж не подменяй понятия. Одно дело практическое использование и другое дело грамматика языка.
С точки зрения грамматики, лично меня Java полностью удовлетворяет. У меня в ней есть большие претензии к стандартным и популярным библиотекам, но с точки зрения грамматики Java очень хороша. А С++ с точки зрения грамматики - не хорош. Слишком много не нужных сущностей в нем.


Как друг к другу соотносятся сущности и грамматика ?
Я не очень понимаю. Ну и лучше язык для программиста, чем язык для хорошей грамматики.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042977
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlКак это делать без переопределения операций?Методами конечно. Зачем переопределять синтаксис?
[/quot]

Чтобы формулы писать удобно было. И читать.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042980
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, ребята, Совыча мы не переубедим....
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042984
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychпродолжать? не? до прикладной логики мы пока ещё даже не добралисьДа, если ты будешь использовать using namespace то, все эти имена слегка сократятся и может быть будет чуть легче читать.
Однако! Вот открыл ты в своем любимом текстовом редакторе/среде два файла, View из одного пространства имен и View из другого.
В обоих файлах у тебя в первой же строке (после include) стоят using namespace delivery::transport; и using namespace delivery::accounts; Оба файла промотаны на определение методов void View::setModel( const Model &value ) {}. В одном классе этот метод глючит, в другом нет.... А теперь быстро скажи: метод какого класса ты сейчас правишь? А если не мотать на начало файла?

egorychи даже здесь уже есть ошибка, найди её, попробуй-каЗачем я ее буду искать? Компилятор найдет.
Или ты думаешь что используя namespace ты от этой ошибки застрахован?
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39042990
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivWhite OwlТы ж не подменяй понятия. Одно дело практическое использование и другое дело грамматика языка.
С точки зрения грамматики, лично меня Java полностью удовлетворяет. У меня в ней есть большие претензии к стандартным и популярным библиотекам, но с точки зрения грамматики Java очень хороша. А С++ с точки зрения грамматики - не хорош. Слишком много не нужных сущностей в нем.


Как друг к другу соотносятся сущности и грамматика ?
Я не очень понимаю. Ну и лучше язык для программиста, чем язык для хорошей грамматики.Под "сущностями" я имел в виду языковые, алгоритмические, структурные концепции. То из чего ты конструируешь свою программу. Может слово "сущность" не очень подходит, но не могу сейчас придумать более лучшее. Примеры таких сущностей: namespace, exception, template, interface, class, union, thread, list, array, hash, socket... в языке для каждой из них может быть а может не быть поддержка на уровне грамматики.
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39043102
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВ обоих файлах у тебя в первой же строке (после include) стоят using namespace delivery::transport; и using namespace delivery::accounts; Оба файла промотаны на определение методов void View::setModel( const Model &value ) {}. В одном классе этот метод глючит, в другом нет.... А теперь быстро скажи: метод какого класса ты сейчас правишь? А если не мотать на начало файла?даже в DOS-редакторах был заголовок окна, вообще то. Это - помимо дополнительных подсказок, которые в студии распиханы на каждом углу. Но ты ведь и студии не любишь же ))

White Owlegorychи даже здесь уже есть ошибка, найди её, попробуй-каЗачем я ее буду искать? Компилятор найдет.
Или ты думаешь что используя namespace ты от этой ошибки застрахован?не найдёт, компилятору всё равно, что в функцию swap объекты передаются по значению, а не по ссылке. Ему это не мешает.
Я думаю, что делать ревью кода, не загромождённого повсеместными префиксами типа DeliveryTransport, MegaNevedomaFignya и прочими - удобней и эффективней, а неймспейсы позволяют мне избавиться от этой проблемы.

Всё ещё не пользуетесь пространствами имён? Тогда мы идём к вам! )))
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39043104
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНе, ребята, Совыча мы не переубедим....барьер, да, ты прав )))
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39043194
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друзья, да мы в топах !
...
Рейтинг: 0 / 0
Некоторые вопросы о программировании на C++
    #39044576
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. К сожалению некоторые врем у меня не было возможности ответить.
И всё-таки по терминологии. Это важный вопрос
BS говорит о трёх вещах(как я понял):
1. class definition - определение, интерфейс типа данных определенного пользователем
2. class declaration - объявление, интерфейс типа данных определённого пользователем
3. representation - представлениея, реализация типа данных определенного пользователем

p225,226 BS
...
Рейтинг: 0 / 0
25 сообщений из 142, страница 2 из 6
Форумы / C++ [игнор отключен] [закрыт для гостей] / Некоторые вопросы о программировании на C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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