Tag: pod

琐碎与标准的布局与POD

用通俗的话来说,平凡的types,标准的布局types和POD有什么区别? 具体来说,我想确定new T是否与任何模板参数T new T()不同。 我应该select哪种types的特征is_trivial , is_standard_layout和is_pod ? (作为一个侧面的问题,这些types的特性中的任何一个都可以在没有编译器的情况下实现?

为什么C ++ 11的POD“标准布局”定义是这样的?

我正在研究C ++ 11中新的轻松的POD定义(第9.7节) 标准布局类是一个类: 没有types非标准布局类(或这种types的数组)的非静态数据成员或引用, 没有虚函数(10.3),没有虚基类(10.1), 对所有非静态数据成员都具有相同的访问控制 (第11章) 没有非标准的布局基类, 在大多数派生类中最多有一个非静态数据成员 , 最多有一个基类具有非静态数据成员 ,或者没有包含非静态数据成员的基类, 没有与第一个非静态数据成员相同types的基类。 我已经突出了一些让我感到惊讶的东西。 如果我们容忍具有不同访问控制的数据成员,会出现什么问题呢? 如果第一个数据成员也是基类,会出现什么问题呢? 即 struct Foo {}; struct Good : Foo {int x; Foo y;}; struct Bad : Foo {Foo y; int x;}; 我承认这是一个奇怪的build筑,但为什么Bad应该禁止,但Good ? 最后,如果不止一个组织成员有数据成员,会出现什么问题?

通过PDO ODBC连接PHP到MSSQL

当我执行这个代码: print_r(PDO::getAvailableDrivers()); 它说我有odbc驱动程序可用。 Array ( [0] => mysql [1] => odbc [2] => sqlite ) 但是,当我尝试像这样使用它: $handle = new PDO("odbc:Server=dbServerIpAddress,myportnumber;Database=mydatabase", "myusername", 'mypassword'); 它什么都不做 – 没有错误,根本不起作用。 它甚至不会执行过去那条线! 如何通过PDO和ODBC连接PHP到这个MSSQL数据库?

删除是否等于删除?

IP_ADAPTER_INFO *ptr=new IP_ADAPTER_INFO[100]; 如果我自由使用 delete ptr; 会导致内存泄漏,如果不是,那么为什么? 这是由VS2005生成的反汇编代码 ; delete ptr; 0041351D mov eax,dword ptr [ptr] 00413520 mov dword ptr [ebp-0ECh],eax 00413526 mov ecx,dword ptr [ebp-0ECh] 0041352C push ecx 0041352D call operator delete (4111DBh) 00413532 add esp,4 ; delete []ptr; 00413535 mov eax,dword ptr [ptr] 00413538 mov dword ptr [ebp-0E0h],eax 0041353E mov ecx,dword ptr [ebp-0E0h] […]

什么是聚合体和POD,以及它们如何/为什么是特殊的?

这个常见问题是关于聚合和PODs,包括以下材料: 什么是聚合 ? 什么是POD (普通旧数据)? 他们有什么关系? 他们如何以及为什么特别? C ++ 11有什么变化?