[问题] class和reinterpret_cast运用看不懂

楼主: smilekerker (科科:))   2015-04-04 19:39:36
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
我现在在看Source code,其中这边看不懂...QQ
麻烦前辈指点了
作者: PkmX (阿猫)   2015-04-04 19:55:00
看完还是不懂你的问题在哪 建议你可以去看一下placement new相关的东西 (自己要一块未初始化的内存在上面建构和解构)另外他的DefaultFetchDefaultDecode<Impl>有compiler自动产生的default destructor
作者: LPH66 (-6.2598534e+18f)   2015-04-04 20:34:00
dtor 在原始码没有时会自动生成一个, 就是 gdb 看到的那个
楼主: smilekerker (科科:))   2015-04-04 20:43:00
我知道dtor没有写的话,compiler会产生一个,但这个自动产生的dtor我们不能直接指定去使用吧? 像~T()?
作者: LPH66 (-6.2598534e+18f)   2015-04-04 20:48:00
所以上面才请你去找 placement new 的东西, 这跟那有关简单说就是 placement new 因为空间索取跟初始化不是一起的所以删除时解构跟空间释放也必须分开, 不能直接 delete那要单独呼叫 dtor 就是直接写 xxx->~T()
作者: PkmX (阿猫)   2015-04-04 22:02:00
没有说compiler生出来的我们不能用啊https://gist.github.com/PkmX/105a27503ef97aaf8ee4你的问题简化版如上 把整段程式码全部看懂你就会了~
作者: kingofsdtw (不能閒下來!!)   2015-04-05 01:54:00
买本书吧..孩子

Links booklink

Contact Us: admin [ a t ] ucptt.com