当前位置:网站首页>U++ operator learning notes

U++ operator learning notes

2022-06-22 14:52:00 It's a bald rabbit

assignment := This copy is a deep copy

TArray<int32> ValArr3;
ValArr3.Add(1);
ValArr3.Add(2);
ValArr3.Add(3);

auto ValArr4 = ValArr3;
// ValArr4 == [1,2,3];
ValArr4[0] = 5;
// ValArr3 == [1,2,3];
// ValArr4 == [5,2,3];

Append Substitution of functions operator+=:

ValArr4 += ValArr3;
// ValArr4 == [5,2,3,1,2,3]

MoveTemp: Mobile construction : It is the product of distinguishing left value from right value , Give one object directly to another , And destroy ( Master Guixi , Pass all your internal power to your disciple ), The time complexity is O(1).

ValArr3 = MoveTemp(ValArr4);
// ValArr3 == [5,2,3,1,2,3]
// ValArr4 == []

  Operator==: compare

TArray<FString> FlavorArr1;
FlavorArr1.Emplace(TEXT("Chocolate"));
FlavorArr1.Emplace(TEXT("Vanilla"));
// FlavorArr1 == ["Chocolate","Vanilla"]

auto FlavorArr2 = Str1Array;
// FlavorArr2 == ["Chocolate","Vanilla"]

bool bComparison1 = FlavorArr1 == FlavorArr2;
// bComparison1 == true

for (auto& Str : FlavorArr2)
{
    Str = Str.ToUpper();
}
// FlavorArr2 == ["CHOCOLATE","VANILLA"]

bool bComparison2 = FlavorArr1 == FlavorArr2;
// bComparison2 == true, because FString comparison ignores case

Exchange(FlavorArr2[0], FlavorArr2[1]);
// FlavorArr2 == ["VANILLA","CHOCOLATE"]

bool bComparison3 = FlavorArr1 == FlavorArr2;
// bComparison3 == false, because the order has changed
原网站

版权声明
本文为[It's a bald rabbit]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206221321590947.html