考虑:
PS C:\src\t> $gss = Invoke-Command -ScriptBlock { Get-Service } -ComputerName SERVER01
PS C:\src\t> $gss[0].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True PSObject System.Object
PS C:\src\t> $gss[0] | Get-Member
TypeName: Deserialized.System.ServiceProcess.ServiceController
为什么案例i3有效?我一直认为,在这种情况下,int main()
{
int * i0 = new int;
*i0 = 666; // OK
const int * i1 = new int;
*i1 = 666; // FAIL due to const
auto i2 = new int;
*i2 = 666; // OK
const auto i3 = new int;
*i3 = 666; // OK, WHY?
const auto * i4 = new int;
*i4 = 666; // FAIL due to const
return 0;
}
会隐含const auto
,但我想情况并非如此?
答案 0 :(得分:6)
const auto i3 = new int;
执行此操作时,const
将应用于指针,而不是指向它指向的对象。
这相当于:
int* const i3 = new int;
这意味着,
i3 = new int(20);
无效,但
*i3 = 666;
会奏效。