English 中文(简体)
ttl: 变数, 放置新
原标题:ttl::variant, placement new
  • 时间:2012-05-22 18:22:03
  •  标签:
  • c++
问题回答

Plaage new 将新对象放入 stor_.buf/code>, 原因是该设置是如何定义 new 的。 您给 new 提供您想要使用的内存地址, 并在该位置构造该对象。 它返回了同一个地址, 所以存储在 stor_.buf/code> 中的地址是 stor_.buf/code> 的地址, 但与构建对象的类型有关, ttl::data_desert<found:ty> , 而不是 。 由于地址相同, std:::troet value 你提到的地址总是为零(假设这个电话甚至会编译,因为参数类型不同,所以它会成功)。

stor_.buf/code> 的地址也总是与 stor_.dummy 的地址相等。 您可以通过像这样指定 pnt/code > 来简化添加的代码 :

pnt_ = &stor_.dummy;

然而,由于您显然只是复制了插座上的原始内存, 从而固定了这个 < code> evariant 对象的内部, 它只是冰山的一角。 您的变量持有的价值可能 < em> 也包含地址, 您没有办法在其中找到地址。 即使您有, 您可能不需要地址 。 您幸运地在“ code > variant ” 上重新固定的地址恰好是同一对象中的一个地址, 所以很容易计算。 但是, 您可以考虑 < code>std: string , 将存储从自由存储处分配内存; 发送一个插头不会给您任何在另一端可用的字符数据, 它甚至不会给您。 您应该学习其它技术来序列化和淡化 < code> tl:: variant 对象。 您可以在 Stack Overtroll 上张贴一个问题, 询问如何操作 。





相关问题
Undefined reference

I m getting this linker error. I know a way around it, but it s bugging me because another part of the project s linking fine and it s designed almost identically. First, I have namespace LCD. Then I ...

C++ Equivalent of Tidy

Is there an equivalent to tidy for HTML code for C++? I have searched on the internet, but I find nothing but C++ wrappers for tidy, etc... I think the keyword tidy is what has me hung up. I am ...

Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

typedef ing STL wstring

Why is it when i do the following i get errors when relating to with wchar_t? namespace Foo { typedef std::wstring String; } Now i declare all my strings as Foo::String through out the program, ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

Window iconification status via Xlib

Is it possible to check with the means of pure X11/Xlib only whether the given window is iconified/minimized, and, if it is, how?