При изучении C++ и D Я пытаюсь сравнить простоту использования, тестируя код на обоих языках.Назначить значение int char
Так, в C++ У меня есть что-то вроде этого (не показывая полный C++ код это только для демонстрации):
char src[] = "some10char";
char des[];
for (int i=0; i<1000; i++)
{
src[9] = '0' + i % (126 - '0');
des = src;
}
В «псевдо» выше, первая строка в теле для цикла не только присваивает значение int
, но также пытается избежать непечатаемых значений.
Как я могу сделать то же самое в D?
До сих пор мне удалось бросить int
к char
, и я не знаю, если я правильно сделал это:
char[] src = "some10char".dup;
char[] dst;
for (int i=0; i<1000; i++)
{
if (i<15)
src[src.length-1] = cast(char)(i+15);
else
src[src.length-1] = cast(char)(i);
dst = src.dup // testing also dst = src;
}
благодаря @Nt кстати, если я пытаюсь скопировать 'ДСТ = src' это не будет работать в цикле, как я пытаюсь массив структур с' полукоксом [] ' как поле .. но 'dst = src.dup' делает ... поэтому' ~ = 'фактически выполняет' .dup'? –
Нет, оператор __ ~ = __ используется для конкатенации в целевом массиве. Для каждой итерации добавляется символ. –
Спасибо за правильный ответ. –