大约十年前,当我在高中和C++玩的时候,我学会了指针,记忆泛滥。在C++中,有时使用指针来扩展(或收缩)适当的数组会导致它运行(或在)分配的内存,并导致奇怪的行为。我将Python中的片赋值解释为类似于指针赋值:# because memory当然,在C++中,我们将每个数组初始化到指定的大小,而基于
我在Visual Studio Enterprise中对C++赋值进行编码。但是,我注意到,当我在linux中运行代码以在不同的平台上进行检查时,我会出现错误,因为无论您如何处理变量,visual studio都会将所有变量初始化为零。例如,我忘了将链表练习中的头指针设置为nullptr,VS仍然运行得很好,但是linux不能。我真的希望能够更早地捕捉到这些错误,那么有没有办法在VS中禁用这种自动初始化呢?
谢谢
我目前正在处理一个类赋值,其中我需要实现一个无锁的链表。class Node { long long key;我不能使用额外的布尔值字段,因为"next“指针需要使用如果我使用普通的老式指针,我可以使用位操作操作符来“旋转”指针的高位,但显然这是行不通的,因为一旦我旋转该位,指针就会指向无效的内存位置,并且当赋值操作符试图访问控制块时,它将导致分段冲突。哦,对于那些