Russian Qt Forum
Ноябрь 22, 2024, 06:54
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
С/C++
>
std::begin std::end принцип работы
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: std::begin std::end принцип работы (Прочитано 12411 раз)
kai666_73
Крякер
Offline
Сообщений: 319
Re: std::begin std::end принцип работы
«
Ответ #15 :
Апрель 01, 2018, 14:56 »
Цитата: Igors от Апрель 01, 2018, 11:58
Цитата: __Heaven__ от Апрель 01, 2018, 11:42
Игорь, посыл был в том, что сигнатуры отличаются тем, что в Foo1 известен размер на момент компиляции, в Foo2 не известен.
Цитата: Igors от Март 28, 2018, 16:19
Код
C++ (Qt)
void
Foo1
(
int
arr
[
3
]
)
;
void
Foo2
(
int
*
arr
)
;
По-моему эти ф-ции идентичны и код их одинаков.
Ничего подобного, в обоих случаях неизвестен, оба варианта - передача по указателю. [3] удобно для программиста (мол, планируется 3 эл-та), но компилятору все равно
Отвечаете? Прям за все популные нынче компиляторы? При компиляции данного кода как сишный, и как плюсовый?
Мнеб такую уверенность, жилось бы спокойнее
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: std::begin std::end принцип работы
«
Ответ #16 :
Апрель 01, 2018, 17:57 »
Цитата: kai666_73 от Апрель 01, 2018, 14:56
Отвечаете? Прям за все популные нынче компиляторы? При компиляции данного кода как сишный, и как плюсовый?
Ну зачем строчить на форум если проверить - пару минут? Возьмите sizeof(arr) в теле ф-ции, в обоих случаях увидите размер указателя. На каком хотите компиляторе.
Цитата: kai666_73 от Апрель 01, 2018, 14:56
Мнеб такую уверенность, жилось бы спокойнее
Как Вы знаете, С++ совместим с С, т.е. программа на С является программой на С++. В С эти конструкции допустимы, стало быть на плюсах тоже, и рез-т должен быть одинаков. Не надо иметь какую-то уверенность, просто верить самому себе
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: std::begin std::end принцип работы
«
Ответ #17 :
Апрель 01, 2018, 20:34 »
Как в стандарте языка написано, так компилятор и должен компилять.
Вариант ответа
.
Записан
Пока сам не сделаешь...
kai666_73
Крякер
Offline
Сообщений: 319
Re: std::begin std::end принцип работы
«
Ответ #18 :
Апрель 02, 2018, 12:04 »
Цитата: Igors от Апрель 01, 2018, 17:57
Как Вы знаете, С++ совместим с С, т.е. программа на С является программой на С++. В С эти конструкции допустимы, стало быть на плюсах тоже, и рез-т должен быть одинаков.
Глупости - одинаковый исходный код поданный на вход си-компилятору дает один результат, а на вход плюсовому компилятору - другой. Речь не только о манглинге имен, но и о том какое соглашение о вызове функций будет заиспользовано.
Не стоит воспринимать мой предыдущий пост как наброс на...
Просто я уже сталкивался с ситуациями когда arr[] передовался в функцию как указатель, а arr[3] укладывался целиком в стэк )
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: std::begin std::end принцип работы
«
Ответ #19 :
Апрель 02, 2018, 12:54 »
Цитата: kai666_73 от Апрель 02, 2018, 12:04
Глупости
Если Вы считаете человека глупым - не стоит тратить на него время и слова
Цитата: kai666_73 от Апрель 02, 2018, 12:04
- одинаковый исходный код поданный на вход си-компилятору дает один результат, а на вход плюсовому компилятору - другой. Речь не только о манглинге имен, но и о том какое соглашение о вызове функций будет заиспользовано.
Не путайте "код" и "результат"
Цитата: kai666_73 от Апрель 02, 2018, 12:04
Просто я уже сталкивался с ситуациями когда arr[] передовался в функцию как указатель, а arr[3] укладывался целиком в стэк )
Так приведите такую ситуацию - или мне уже пора последовать собственному совету выше?
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: std::begin std::end принцип работы
«
Ответ #20 :
Апрель 02, 2018, 15:28 »
Цитата: Igors от Апрель 02, 2018, 12:54
Цитата: kai666_73 от Апрель 02, 2018, 12:04
Глупости
Если Вы считаете человека глупым - не стоит тратить на него время и слова
Бывает, что и умный глупость сморозит...
Цитата: Igors от Апрель 02, 2018, 12:54
Цитата: kai666_73 от Апрель 02, 2018, 12:04
- одинаковый исходный код поданный на вход си-компилятору дает один результат, а на вход плюсовому компилятору - другой. Речь не только о манглинге имен, но и о том какое соглашение о вызове функций будет заиспользовано.
Не путайте "код" и "результат"
Ну дак в конечном счете важен только результат. И в этом контексте "Как Вы знаете, С++ совместим с С, т.е. программа на С является программой на С++." - откровенная глупость
Цитата: Igors от Апрель 02, 2018, 12:54
Цитата: kai666_73 от Апрель 02, 2018, 12:04
Просто я уже сталкивался с ситуациями когда arr[] передовался в функцию как указатель, а arr[3] укладывался целиком в стэк )
Так приведите такую ситуацию - или мне уже пора последовать собственному совету выше?
Вот уж простите, не упомню...
ЗЫ. Таки да, следуйте, собственным советым - если к прочим глухи
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...