|
Заблокирован
|
||
Поведение оператора new платфоромозависимое?19.09.2014, 11:04. Показов 3612. Ответов 59
Метки нет (Все метки)
В случае неудачи оператора new, допустим out of memory, он может кинуть исключение или вернуть ноль:
MSDN:
0
|
||
| 19.09.2014, 11:04 | |
|
Ответы с готовыми решениями:
59
Не понятное поведение тернарного оператора Неправильное поведение программы с использованием логического оператора или
|
|
Заблокирован
|
||
| 19.09.2014, 15:48 [ТС] | ||
|
0
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 19.09.2014, 16:11 | ||
|
1
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 19.09.2014, 16:17 | ||
|
0
|
||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||
| 19.09.2014, 16:27 | ||
|
0
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 19.09.2014, 16:38 | ||
|
"Тем не менее, настоящие программисты на C++ по-прежнему представляют нулевой указатель литералом 0. Применяя любой другой способ, вы рискуете показаться безнадежно старомодным."
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,819
|
||||||||||||||||||||||||||
| 19.09.2014, 20:52 | ||||||||||||||||||||||||||
|
в 18.3.2.2
18.6.1.1
Стандартом гарантируется, что компилятор знает как преобразовать 0 в правильный null pointer, этого достаточно, чтобы без опаски использовать его (0). Так что слова Страуструпа ни в коем случае не расходятся со стандартом и с реальным положением вещей. PS. Да, я работал с платформами, где null pointer имеет не равное числовому нулю битовое представление, и в С++ ноль приведенный к указателю принимал правильное значение. Все вышесказанное относится к С++. В С действительно нужен NULL. В заключение приведу кусочек GNU libio.h
А уже вот в таком примере мы бы получили ошибку компиляции:
0
|
||||||||||||||||||||||||||
|
Заблокирован
|
|||
| 20.09.2014, 06:27 [ТС] | |||
и ни на что другое я вряд ли пересяду, хотя всегда считал WinAPI наиболее качественным и профессиональным средством разработки, правда чисто под windows. Ну это я всё к тому, что мне всякие там выборы компилятором перегруженных функций, когда передаёшь туда ноль, как то по барабану. И можете даже не смеяться по поводу моего не желания использовать перегруженные функции (конечно же иногда я их использую), программирование - такая штука, где можно лет 50 чему то учится, а потом придёт пацан и скажет, что ты всё делаешь не правильно но ты уже ничего не будешь менять и скажешь ему "я слишком стар, чтоб что - то менять, я так уже привык" .Тут то я спрашивал про nullptr_t - который по моему мнению вряд ли где - то находит серьёзное применение , нет ну правда, это же тип нуля, а какой в нём только - то ? Ну вот просто пример void Hello(std::nullptr_t);, ну и что? Накой хрен писать процедуру, которая может принимать параметр только ноль? Я проще напишу void Hello(int a); и буду проверять его на ноль
0
|
|||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||||||
| 20.09.2014, 12:24 | |||||||||||
|
Введение типа std::nullptr_t нужно для того, чтобы при наличии таких перегрузок:
Достигается это тем, что тип nullptr_t (когда передается объект nullptr) может быть неявно преобразован в любой указатель, но не в целое.
0
|
|||||||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,819
|
||
| 20.09.2014, 12:46 | ||
|
И поверь, мне абсолютно по барабану используешь ты перегруженные функции или нет
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||||||||||||||||||||||||||||
| 20.09.2014, 14:32 | ||||||||||||||||||||||||||||||||
Вот еще два:1)
2) Вывод типов шаблонов работает неверно для 0 и для NULL. Выводится, ну например, int. А для nullptr верно - выводится nullptr_t. Например. Я хочу написать функцию, которая вначале что-то лочит, а потом вызывает другую функцию, передавая ей указатель на данные. Будет это выглядеть как-то так:
В то же время со следующим вызовом все окей:
2
|
||||||||||||||||||||||||||||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,819
|
|||||
| 20.09.2014, 14:56 | |||||
|
Вообще же, ты слишком буквально понял мой пост, все твои примеры, собственно, того же разлива, что и и мои примеры в перегрузкой (я просто не стал это разжевывать - выходит зря). Все это в итоге достигается введением конверсии из nullptr_t -> some ptr type, вместо прежней int -> some ptr type. Все примеры (и твои и мои) - это лишь демонстрация этого эффекта и показывают, суть, эту конверсию. Именно это я и имел в виду под Добавлено через 3 минуты Скажем так, читать это надо было так:
0
|
|||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 20.09.2014, 14:58 | ||
|
0
|
||
| 20.09.2014, 15:00 | |
|
0
|
|
| 20.09.2014, 15:13 | |
|
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 20.09.2014, 15:40 | ||
|
1
|
||
|
Заблокирован
|
||||||
| 20.09.2014, 18:59 [ТС] | ||||||
|
По моему вот это бред (в Qt)
0
|
||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 20.09.2014, 22:33 | |
|
Scrooge McDuck, intellisense это патентованое от ms, которое работает в студии. Креатор не может, потому что не дорос еще.
0
|
|
| 20.09.2014, 22:33 | |
|
Помогаю со студенческими работами здесь
60
Необычное поведение оператора инкремента Странное поведение оператора сравнения Поведение оператора echo при вызове функций Непонятное поведение поведение TIM6 на STM32f4discovery Избыточное копирование объекта при реализации оператора умножения и оператора присваивания Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|