Re[13]: Функции для массивов и указателей
От: alexolut  
Дата: 26.11.15 15:55
Оценка:
Здравствуйте, _hum_, Вы писали:

__>важно с концептуальной точки зрения — есть собственная операция, или приходится пользоваться чужой (самостоятельный это тип, или только его отголоски).

Массив — тип самостоятельный. Но насчет важности я не согласен, т.к. как это реализовано в том или ином компиляторе для программиста, как потребителя, совершенно безразлично.
Он не сможет никак уловить эту разницу.

__>ну, так я ж и говорю, в вашем варианте массив — это частный случай структуры вида

__>
__>template<typename T> struct{ T _0; T _1; T _2; <...> }; 
__>

__>(тоже однотипные члены, тоже не требуют задания имени (ибо имена всегда стандартные _0, _1, и т. д.))
Любой объект есть область памяти. А дальше уже идут частные случаи.

A>>При этом структуры могут помимо членов-данных иметь и функции-члены, различные вложенные типы и спецификаторы доступа к членам.

__>ну, это в с++. а структуры есть и в обычном си.
Они много где есть. Но в данной теме речь всё же о C++ (т.к. в си нет перегрузки функций, о которых упомянул ТС).
Re[14]: Функции для массивов и указателей
От: _hum_ Беларусь  
Дата: 26.11.15 16:06
Оценка:
Здравствуйте, alexolut, Вы писали:

A>Здравствуйте, _hum_, Вы писали:


__>>важно с концептуальной точки зрения — есть собственная операция, или приходится пользоваться чужой (самостоятельный это тип, или только его отголоски).

A>Массив — тип самостоятельный. Но насчет важности я не согласен, т.к. как это реализовано в том или ином компиляторе для программиста, как потребителя, совершенно безразлично.
A>Он не сможет никак уловить эту разницу.

__>>ну, так я ж и говорю, в вашем варианте массив — это частный случай структуры вида

__>>
__>>template<typename T> struct{ T _0; T _1; T _2; <...> }; 
__>>

__>>(тоже однотипные члены, тоже не требуют задания имени (ибо имена всегда стандартные _0, _1, и т. д.))
A>Любой объект есть область памяти. А дальше уже идут частные случаи.

если так смотреть, то в языках программирования (для пк) нет вообще никаких типов, кроме типа целых чисел, ибо в конечном счете любой объект — это набор двоичных чисел в памяти машины

A>>>При этом структуры могут помимо членов-данных иметь и функции-члены, различные вложенные типы и спецификаторы доступа к членам.

__>>ну, это в с++. а структуры есть и в обычном си.
A>Они много где есть. Но в данной теме речь всё же о C++ (т.к. в си нет перегрузки функций, о которых упомянул ТС).

не, это мы уже оффтопим на тему — "насколько массив является самостоятельным типом (не сводится к указателю на буфер данных), и насколько это естественно реализовано в с++".
Re[3]: Функции для массивов и указателей
От: sokel Россия  
Дата: 29.11.15 09:53
Оценка:
Здравствуйте, johny5, Вы писали:

J>К примеру, из массива можно вытащить его длину, этим мы экономим на strlen операции. С указателем размер строки утерян.


Проблема только в том, как отличить литерал от массива, заполненного вручную и не до конца.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.