Не получается преобразование нуль-терминальной UTF8 в std::wstring

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Не получается преобразование нуль-терминальной UTF8 в std::wstring

Знакомства

LenaEmact » 23 авг 2017, 06:30

Добрый день знакомства на один раз без пантов
хорошо вам отдохнуть без заморочек.только настоящие знакомства

Знакомства

LenaEmact » 23 авг 2017, 06:19

Добрый вечер знакомства на один раз без пантов
хорошо вам отдохнуть без заморочек.только настоящие знакомства

Re: Не получается преобразование нуль-терминальной UTF8 в std::wstring

Absurd » 16 дек 2015, 20:16

А ничего, что как раз по стандарту квалификатор const не защищает от изменения обходными путями?
По стандарту если некий объект изначально был создан с квалификатором const, то любая попытка его изменить это undefined behaviour. SIGBUS считается хорошим, годным вариантом.

Re: Не получается преобразование нуль-терминальной UTF8 в std::wstring

Absurd » 16 дек 2015, 20:11

Обычно по правилам сетевого этикета нелицеприятные эпитеты в адрес публичных лиц не воспрещаются. Тем более что фанатичная упертость Строуструпа в некоторых принципиальных для него одного вопросах очень широко известна.

Сионист » 16 дек 2015, 20:02

То есть это:
то есть с тридцатилетней эволюцией комплексов мистера Бьорна Строуструпа,
я написал? Однако!
Стандарт исходит из того что объекты созданные как const по возможности должны находиться в read-only памяти. Разговоры о теговой памяти где можно повесить аттрибут RO на отдельный int в конце 90-х велись.
Энто где ж такое? А ничего, что как раз по стандарту квалификатор const не защищает от изменения обходными путями? И как же это реализовать, если все константы будут в read only памяти? С неё ведь флаг на каждый инт не снимается, а только с целой страницы, соответственно

Код: Выделить всё

#include <iostream>
const int x=20;
int main()
{
 int *p=(int*)(&x);
 *p=30;
 std::cout<<*p<<std::endl;
 return 0;
}
приведёт к краху, а должно вывести 30.

Re: Не получается преобразование нуль-терминальной UTF8 в std::wstring

Absurd » 16 дек 2015, 20:02

И каким боком здесь флаги защиты памяти?
Стандарт исходит из того что объекты созданные как const по возможности должны находиться в read-only памяти. Разговоры о теговой памяти где можно повесить аттрибут RO на отдельный int в конце 90-х велись.

Сионист » 16 дек 2015, 19:56

Изначальная реплика звучала так: "Стек вообще RW память, const в нем нельзя реализовать физически."
Вот именно. И каким боком здесь флаги защиты памяти? Вы ОС от компилятора не отличаете?
И что, там константность была квалификатором типа?
Там это вообще заголовок раздела.

Код: Выделить всё

type
tmanth=(January, February, May, April, May, June, July, August, September, October, November, December);
const
m:tmanth=May;
.

Re: Не получается преобразование нуль-терминальной UTF8 в std::wstring

Absurd » 16 дек 2015, 19:53

Бред, кобыла отдыхает.
Будешь хамить - забаним. С тобой тут возятся частично из любопытства, частично по доброте душевной. Хотя смысла в этом нет никакого.
Именованные константы были ещё в паскале.
И что, там константность была квалификатором типа?

Re: Не получается преобразование нуль-терминальной UTF8 в std::wstring

Сионист » 16 дек 2015, 19:52

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

Re: Не получается преобразование нуль-терминальной UTF8 в std::wstring

Absurd » 16 дек 2015, 19:48

А каким боком флаг защиты памяти к контролю доступа на этапе компиляции?
Изначальная реплика звучала так: "Стек вообще RW память, const в нем нельзя реализовать физически."

Обычно когда программисты говорят "физически" они имеют в виду в виду уровень железа, т.е. аппаратную поддержку. Аппаратно памать распределяется страницами по 4К и флаг можно поставить только на целую страницу целиком.

Вернуться к началу