LINUX.ORG.RU

это нужно для красоты. объявили конструктор с параметром типа int и значением по умолчанию 228. и тут же реализовали его как пустой. видимо не очень-то и нужен, но конструктор для красоты объявили.

В дальнейшем могут тело тут убрать, и реализовать его уже по человечески, а декларация останется прежней.

alysnix ★★★
()
Ответ на: комментарий от AntonI

Здесь можно вызывать как Foo() так и Foo(123)

здесь это где? в том виде что у автора оно вообще не работоспособно, при правильном объявлении это означает,что если в конструкторе не будет указано значение,то оно будет равно объявленому в описании структуры.

jo_b1ack ★★★★★
()
Ответ на: комментарий от jo_b1ack

Спасибо, кэп! Я имею ввиду что где то м.б. нужен вызов Foo(int), пусть он ничего и не делает. Шаблоны в плюсах такие шаблоны…

AntonI ★★★★★
()
Ответ на: комментарий от patriarh_kuril

Затем, что у тебя есть класс с каким-то параметром. Допустим у тебя есть буфер 1024, которого хватает в большинстве случаев. Чтобы не писать везде Foo(1024) указывается дефолтное значение, которое будет всегда применяться, но в том случае если вдруг тебе нужен будет буфер 2048, то ты вместо Foo() напишешь Foo(2048).

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Я понимаю для чего нужен конструктор по умолчанию, не до конца понятна философия, позволяющая такое писать. Значение по умолчанию, в данном случае

Foo(int=228)
{
}

нигде не используется, но компилятор позволяет.

patriarh_kuril
() автор топика
Ответ на: комментарий от patriarh_kuril

а с точки зрения синтаксиса С++ тут ошибки нет. это максимум варнинг, и то-предмет споров.

alysnix ★★★
()
Ответ на: комментарий от patriarh_kuril

Например, для прямой или обратной совместимости чтобы не ломать API/ABI. Или просто легаси которое забыли убрать. Если тебя это так сильно беспокоит - убери, зашли патч и посмотри что тебе скажут.

slovazap ★★★★★
()
Ответ на: комментарий от anonymous

А сейчас не значение по-умолчанию?

от языка зависит

jo_b1ack ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.