Глава 4 закончена
This commit is contained in:
parent
141dd624b1
commit
e57718386b
26 changed files with 442 additions and 2 deletions
|
@ -0,0 +1,34 @@
|
|||
import std.stdio;
|
||||
|
||||
int[3] fun(int[3] x, int[3] y)
|
||||
{
|
||||
// x и y – копии переданных аргументов
|
||||
x[0] = y[0] = 100;
|
||||
return x;
|
||||
}
|
||||
|
||||
double[3] fun2(double[] x)
|
||||
{
|
||||
double[3] result;
|
||||
result[] = 2 * x[]; // Операция над массивом в целом
|
||||
return result;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
int[3] a = [1, 2, 3];
|
||||
int[3] b = a;
|
||||
a[1] = 42;
|
||||
assert(b[1] == 2); // b – независимая копия a
|
||||
|
||||
auto c = fun(a, b); // c имеет тип int[3]
|
||||
|
||||
assert(c == [100, 42, 3]);
|
||||
writeln(c);
|
||||
assert(b == [1, 2, 3]); // Вызов fun никак на отразился на b
|
||||
writeln(b);
|
||||
|
||||
double[3] point = [0, 0, 0];
|
||||
double[] test = point; // Все в порядке
|
||||
auto r = fun2(point); // Все в порядке, теперь r имеет тип double[3]
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue