[devel] str*(3) - C vs. C++

Alexey Tourbin at на altlinux.ru
Пн Июн 15 19:49:57 MSD 2009


On Mon, Jun 15, 2009 at 05:51:21PM +0400, Alexey I. Froloff wrote:
> On Mon, Jun 15, 2009 at 05:13:55PM +0400, Damir Shayhutdinov wrote:
> > > char *foo(const char *s, const char *a)
> > тут должно быть const char* foo
> О мой мозг.  Как жеж я "люблю" Си+плюс.

В си+плюсе функции могут быть перегружены: если аргумент константный,
то и значение константное; а второй прототип соответственно без const
то и другое.  Когда людишки функцию вызывают, то си+плюс смотрит, какой
прототип надо выбрать.

Это написано в книжке "Страус" на странице 666.

Соответственно в string.h у функций типа strchr два прототипа:
char *strchr(char *s, int c);
const char *strchr(const char *s, int c);
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20090615/95a4165d/attachment.bin>


Подробная информация о списке рассылки Devel