C++编程中删除运算符与相等运算符的使用解析
delete删除运算符 [::] delete cast-expression [::] delete [ ] cast-expression 备注 CDialog* MyDialog = new CDialog; // use MyDialog delete MyDialog; 对指向不使用 new 分配的指针使用 delete 将产生不可预知的结果。但是,可以对值为 0 的指针使用 delete。此设置意味着,当 new 失败并返回 0 时,删除已失败 new 操作的结果不会造成损害。 // expre_Using_delete.cpp struct UDType { }; int main() { // Allocate a user-defined object,UDObject,and an object // of type double on the free store using the // new operator. UDType *UDObject = new UDType; double *dObject = new double; // Delete the two objects. delete UDObject; delete dObject; // Allocate an array of user-defined objects on the // free store using the new operator. UDType (*UDArr)[7] = new UDType[5][7]; // Use the array syntax to delete the array of objects. delete [] UDArr; } 以下两种情况会生成未定义的结果:在对象中使用 delete 的数组形式 (delete [ ]),并在数组中使用 delete 的非数组形式。 delete 的工作方式
语法 expression == expression expression != expression 备注 // expre_Equality_Operators.cpp // compile with: /EHsc #include <iostream> using namespace std; int main() { cout << boolalpha << "The true expression 3 != 2 yields: " << (3 != 2) << endl << "The false expression 20 == 10 yields: " << (20 == 10) << endl; } 相等运算符可比较指向同一类型的成员的指针。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |