![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
1. Инициализация – вызов конструктора (по\не по умолчанию)? 2. Определение – обычное присваивание? 3. Когда через конструктор присваиваем внутренним переменным значение, используется =. В чем тогда разница между определением? 4. Инициализация по умолчанию производится для каких встроенных типов? |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
конструктор есть только у классовых типов, инициализация же есть у всех. Определение переменной это выделение памяти под нее, а описание это просто упоминание.
можно инициализировать внутренние члены в списке инициализации, а можно присваивать им значения в теле конструктора. в одном случае - инициализация в другом - присвоение.
для всех простых (POD) типов объекты которых определены статически. Это сообщение отредактировал(а) mes - 29.12.2009, 11:11 |
||||
|
|||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
У Мейерса есть такой пример, немного изменил:
Не пишет, что будет ошибка. Получается при создании no1 для свойств не произошло вызова их конструкторов по умолчанию, это было только объявление. Их инициализация (или определение?) было произведено в конструкторе объекта. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
![]() ![]() ![]() Вы смешали все кучу.. тут даже не понятно с какой стороны начинать распутывать.. ![]() |
|||
|
||||
Gunslinger |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Если в конструкторе по умолчанию происходит присваивание внутренним переменным значения, то они сразу же получат значения. Получается, это объявление и инициализация. Технически: выделяется память и туда записывается соответствующее значение.
1. По аналогии переменные встроенного типа так же объявлены, а затем автоматически инициализированы. Но это оказывается не так. 2. Инициализация – это ведь тоже присвоение значения, т.е. память выделяется и в нее записывается какое-либо значение. В чем тогда отличие от определения? Это сообщение отредактировал(а) Gunslinger - 29.12.2009, 16:56 |
||||
|
|||||
artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Инициализация - это когда вы явно присвоили значение переменной при объявлении. Определение - это просто объявление переменной. И она никак не инициализируется, если речь идёт о базовых типах. Т.е.
В случае с классом - вызывается его конструктор, который инициализирует переменные класса. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
extern type val; // описание объявление переменной - просто упоминание
type val; // определение переменной - выделение места с возможной инициализацией type val = 4; // определение переменной с явной инициализаций val = 5; // присвоение Добавлено @ 18:33 не совсем.. например константу проинициализировать можно (и нужно), а присвоить ничего нельзя.. и не важно что на низком уровне инициализация и присвоение могут быть реализованы одинаково. Добавлено @ 18:37
не объявлении, а при определении.. и это явная инициализация, а может быть неявная.. и "присвоили" здесь не несет смысл присвоения. неа ![]() Это сообщение отредактировал(а) mes - 29.12.2009, 19:08 |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
а в чём разница? type val; - это же объявление переменной. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
для переменных объявление происходит посредством употребления extern. ![]() Это сообщение отредактировал(а) mes - 29.12.2009, 18:50 |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
ну вы же сами писали:
![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Вроде стало ясно
![]()
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
а это уже издержки перевода.. тем более что нам не важно где определена переменная.. то есть примеры
с точки зрения расмотрения автором могут быть эквивалентны.. и по сути ему важно именно объявление, а то что должно быть у этой переменной определение подразумевается.. Но если рассматривается именно конструкция, и хотя любое определение содержит в себе объявление, называть объявлением определение некорректно. Это сообщение отредактировал(а) mes - 29.12.2009, 20:51 |
||||
|
|||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Игра слов. Забавно.
![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Gunslinger |
|
||||||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
если
то это только объявление - в переменной лежит мусор.
это объявление и... неявная инициализация (конструктором int по умолчанию)?
объявление и сразу инициализация - таком способе конструктор типа не вызывается.
Вот поэтому код из первого поста мне и не понятен. Повторю:
Либо константный аргумент не тоже самое, что и константная переменная, либо константу дозволяется инициализировать позже, если она не инициализирована (но тогда неявной инициализации у string нет). |
||||||||||||
|
|||||||||||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Всё зависит от того проинициализированна ли глобальная переменная или нет.
Здесь нет инициализации (и не вызывается конструктор - это не объект). В этом случае в переменной мусор. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Gunslinger |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Синтаксис похож на конструктор у пользовательских объектов. Это случайность или у встроенных типов все же есть конструкторы? |
||||
|
|||||
artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Это просто фича такая есть в С++. Но конструкторов у базовых типов НЕТ. Добавлено через 10 минут и 15 секунд
В этом случае, компилеру просто говорится, что переданную по ссылке переменную name нельзя изменять в функции (конструкторе). Тем не менее, можно содержимое переменной скопировать во временную переменную и "баловаться" с ней. Благодаря тому, что переменная передаётся по ссылке, ускоряется вызов функции, а также рационально используется память. И в то же время, использование спецификатора const, гарантирует, что содержимое переменной не будет изменено внутри функции. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Значит, если мы объявляем переменную константой, то необходимо сразу определить ее иначе в ней останется мусор, который компилятор потом не позволит изменить? Возможности отложенного определения для константных переменных нет?
Не пойму тогда смысл этого кода: попытка положить в константную переменную значение. И Мейерс не пишет, что такой код вызывает ошибку. |
|||
|
||||
mes |
|
||||||||||||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
то это только объявление - переменной в этом месте не создается, а следовательно некорректно говорить о том что в ней лежит..
это определение - создание переменной. явной инициализации тут нет, а неявная зависит от того где переменная определена.
определение с инициализацией. инициализация бывает не только посредством конструктора.
естественно не одно и то же..
не понял откуда такое вытекает... А Вы считаете что если у аргумента const & , то определенная ниже переменная должна быть константой ? Аргумент эта шишка которая упала на голову мишке, а переменная это шишка выросшая на лбу. Одна провоцируют другую , но даже если они схожи по виду и названию, они не являются одним и тем же ![]() |
||||||||||||||||
|
|||||||||||||||||
artsb |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
компилер будет ругаться если не проинициализировать константу.
нет. точнее отложенной инициализации нет.
Это сообщение отредактировал(а) artsb - 30.12.2009, 19:14 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||||
|
|||||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
да.
возможностей то у c++ много. можно изменить константу например воспользовавшись const_cast'ом.. но все это из разряда хаков. Так что на данном для Вас этапе лучше просто принять, что константа не изменяема. |
||||
|
|||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
сейчас проверил на BCB 6. даже не компилится. Добавлено @ 19:16 Пишет: "constant variable must be initialized" Это сообщение отредактировал(а) artsb - 30.12.2009, 19:17 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
константая переменная это const string& name ? Ну так эта аргументы создаются в момент вызова функции, и инициализируются переданными в функцию параметрами.. Не говоря о том, что там не константная переменная, а константная ссылка.. Добавлено через 9 минут и 31 секунду Когда в говорят в c++ что нельзя изменить значение переменной, означает что нельзя посрестством этой переменной изменить значение.. т.е. вот функция
принимает два аргумента по ссылке, причем первый по константной. исходя из этого делаем заключение, что внутри функции ci не может измениться, однако изменение самого значения которое хранит ci возможно :
![]() |
||||||
|
|||||||
Gunslinger |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
о_О? Вы имели ввиду: константная ссылка==ссылка на константу? Или аналогия с указателями неприменима? К подобному коду во всех учебниках говорится, что изменить такой объект нельзя.
То есть получается вроде:
? Это сообщение отредактировал(а) Gunslinger - 30.12.2009, 22:30 |
||||||
|
|||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Параметр - то что передаем, а аргумент , то что получает функция две стороны одной медали ![]() угу.. ссылка на константу в полном смысле этого слова не применима, так как указатель самостоятельный объект и сам может быть константой.
плохо книги смотрели.. ![]() Изменить объект нельзя когда он изначально задается как константный и может быть размещен в рид-онли мемори. тут же мы один и тот же неконстантный объект передаем один раз посредством ссылки на константу, другой - посредством простой ссылки. то есть у нас получается два интерфейса к одному и тому же участку памяти : один read-only, другой read-write. Это сообщение отредактировал(а) mes - 30.12.2009, 22:56 |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
С наступающим новым 2010м годом!
А теперь к скучному ![]() О_О. Прямо утро откровений. Тогда: Тип Параметра=Аргумент ![]() Какой тогда смысл писать const к аргументу-ссылке, если константность объекта определяется в объявлении вызывающей программы? Если переменная не должна быть изменена в функции, то необходимо сделать ее константной в вызывающей программе? Или не обязательно - можно сделать константной функцию, куда передаются ссылки? |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
смысл в том, что функции не важно каким он объявлен в главной программе, но внутри функции он должен себя вести как ссылка на константу. Одно из правил структурного программирования - возможность не держать все в голове, а делить на независимые составляющие. Деление на функции это один из шагов к этому. Добавлено @ 12:40 ![]() как можно приравнять тип к значению ?! и у аргумента и у параметра есть свой тип, кстати они могут быть не одинаковыми, тогда происходит преобразование (если возможно или ошибка в противном).
Это сообщение отредактировал(а) mes - 31.12.2009, 12:41 |
||||
|
|||||
Gunslinger |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Забыл поменять местами, извиняюсь ![]()
Стоп!!
Это похоже на создание временного объекта и привязки к нему ссылки! Блин, не научусь читать код... Временный объект создается в стеке функции или вызывающей? Если смотреть только на семантику (не смотреть, что это передача в функцию), то в стеке функции...
Ну так и получается, что раз ссылка константная, то внешний объект изменить нельзя, пусть он и объявлен без cоnst... Это сообщение отредактировал(а) Gunslinger - 31.12.2009, 13:55 |
||||||||
|
|||||||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
насколько я вижу, перемена слов того выражения не приближает к сути..
Давайте для начала уточним, что такое для Вас конструктор, и чем он отличается от функции. опять Вы не в ту сторону смотрите.. Не важно в чьем стеке, важно время жизни. Это как раз к разговору о том чем отличается блок функции от функционального блока. первое - это блок который включает все тело функции, а второе это любой блок. То есть блок функции может состоять из одного или множества включенных друг в друга функциональных блоков. У функции один стек, однако время жизни переменных может сильно разниться
к моменту создания i3, i2 будет уже уничтожена,а i1 удалится только после i3;
в этом примере : http://forum.vingrad.ru/index.php?showtopi...t&p=2061027 значение объекта переданного по ссылке на константу (хотя и косвенно, но) меняется .. Имхо Вы пытаетесь копнуть поглубже, чтоб найти истину, не разобравшись с тем что лежит на поверхности.. Это основная ошибка, потому что вся суть лежит на поверхности, а в глубине лишь подробности, с которыми нельзя будет разобраться не понимая основ. ![]() |
||||||
|
|||||||
Gunslinger |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
С наступившим!
![]()
Теперь понял, спасибо.
Я говорил про это же: ci из функции f изменить нельзя. Получается так: 1. У встроенных типов конструкторов нет. Поэтому 2. если написать int g;, то создастся переменная с мусором в качестве значения. Это объявление 3. int m=2; - объявление и инициализация. Инициализация -- когда в переменную пишем только когда она только что объявлена (как в примере) или не важно, можно где-то после объявления? Т.е. инициализацией называют самое первое присваивание (неважно, когда его делаем), которое затирает мусор? 4. Объявление -- присвоение переменной нового значения, т.е. затирание не мусора, а значения, ранее записанного программистом? 5. Оффтоп: конструктор копирования нужен, чтобы можно было передавать пользовательский объект в функцию (по значению, конечно)? Это сообщение отредактировал(а) Gunslinger - 1.1.2010, 16:48 |
||||||
|
|||||||
mes |
|
||||||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
да нельзя.. но почему ci дает разный результат на каждой итерации цикла ? нету
не поэтому это определение определение и инициалиыация
не обьявления, а создания
это не присваивание.. 1. возьмите инициализацию ссылки - в контексте присваивания это рассматривать нельзя.. 2. она не должна затирать мусор .. она должна привадитэ обьект в начальное состояние..
нет нет нет нет
нет .. и забудьте об этих конструкторах пока не поймете что такое обьявление, определение, инициалиция и присваивание. не копайте вглубь пока не разобрались с основами.. |
||||||||||
|
|||||||||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Не обратил внимание на второй параметр.. Упустил такой вариант, изменить можно. Хотя таких психов надо поискать. Зависит от реализации компилятора? Всегда думал, что подобный текст - объявление. Что же такое объявление?
"Затирать мусор" имел ввиду присвоение к нужному значению. Вроде тоже самое. Концептуальный процесс: выделение памяти для объекта; присвоение объекту первоначального значения (либо нужного, либо "технического" -- 0); изменение значения объекта (в процессе работы). Так вот на такой схеме: что есть что? |
|||
|
||||
zim22 |
|
||||||||||||||||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
объявлять переменные можно сколько угодно раз. определены же они должны быть только один раз. тоже самое касается и функций. объявление - это указание компилятору, что переменная определена где-то в другом месте. если на этапе линковки это "другое место" обнаружено не будет - будет ошибка линковки. вот объявление:
а вот определение:
*** не поленюсь из книги привести цитату, уж больно хорошо объясняется. isbn 5-8459-1121-4 (рус) isbn 0-201-72148-1(англ)
Это сообщение отредактировал(а) zim22 - 2.1.2010, 18:52 |
||||||||||||||||
|
|||||||||||||||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Фигово по переводной литературе обучаться... Даже и не думал, что объявление -- это extern. Что за книга? Значит, 1. объявление -- extern: память не выделяется. extern используется только для объявления встроенных типов и самостоятельных функций? Для классов есть include. 2. Определение -- обычное создание переменной, вроде int d: память выделяется, в ней лежит мусор 3. Инициализация -- первоначальное присвоение значения. Далее по программе -- уже не инициализация, а присвоение. Так? |
|||
|
||||
zim22 |
|
||||||||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
нет 1. есть объявления переменных, функций, предварительные объявления классов. объявления переменных - это extern
объявление функций - это просто строка с прототипом функции (без её тела)
предв.объявление класса (forward declaration) - это ключевое слово class за которым следует имя класса, заканчивающееся ;
не обязательно мусор. для пользовательских типов данных будут вызваны конструкторы. встроенные типы данных, определённые в глобальной области видимости, будут инициализированы значением по умолчанию для их типа (нулём или пустой строкой). также любое определение является и объявлением. *** объявление - declaration определение - definition Это сообщение отредактировал(а) zim22 - 3.1.2010, 13:22 |
||||||||
|
|||||||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Вспомнил, читал. Смысл тотже самый, что и extern. Весь нюанс между объявлением и определением в том, что под объявленный объект память не выделяется и присвоение такому объекту значения будет ошибкой? |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
не стоит задавать вопросы, ответы на которые ты можешь получить сам. просто откомпиль и глянь что будет. |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
присвоение тут второстепенно.. если объект только объявлен, но не определен, значит его не существует. а ньанс в том, что
и почитайте наконец то (внимательно и с разбором) хоть какую нибудь книжку по C++.. а то толчем воду в ступе... Это сообщение отредактировал(а) mes - 3.1.2010, 17:56 |
||||
|
|||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |