这是我的代码
<pre><code> int age = 36;
const int* p = &age;
cout << typeid(age).name() << endl;
此代码运行正常,并显示“是”:
<pre><code>#include <iostream>
using std::cout;
using std::endl;
class A {
publi
是否有一种方法可以基于<code>std::is_base_of</code>生成的字符串而不是基于类型本身使用<code>typedid(...).name()
我正在尝试移植一个可以在 Linux (GCC/C++) 和 Windows (MSVC) 上运行和编译的代码
但是以下行给我带来了麻烦<
我了解到,当未启用RTTI或相关类不是虚拟类时,我可以预期得到的行为,但是在这种情况下,我不明白
g ++ 6.3.1。
此<code>gdb</code>会话说明<code>dynamic_cast<></code>做正确的事,编译器显示了派生的<code>
我不明白为什么该程序使用相同的编译器在Linux和Windows之间产生不同的输出。在Windows中,它输出<strong> f
我正在尝试编写一个函数来检查被强制转换的变量是否适合目标类型,如果不适合,则使用 assert()。现
我想知道对于用户定义类 typeid(type) 将如何决定用户定义类类型的名称检查我下面的学生类代码我得到了
我目前正在评估更改项目的多个类/结构的可能性,以便在编译时在 constexpr 上下文中使用它们。当前的
<pre><code>#include <typeinfo>
#include <iostream>
using namespace std;
template<typename T, typename U = T> void f1(T a,
如何从 nlohmann 对象中提取底层数据类型的信息?
既然值在 json 中存储为原始数据类型,为什么它不给出
我想通过类名比较两个对象。第一个对象的类型为 <code>Card*</code>,指向一个 <code>MagicCard</code> 对象,第
我的意思是在基类中定义一个函数,该函数能够打印调用它的对象的类,如果它是任何派生类,则正确
抛开对使用 <code>typeid</code> 和 <code>dynamic_cast</code> 的必要性及其对代码维护的可疑影响的所有担忧,是
我对我写的这个模板感到很困惑,它应该“自动”推导出我传入的指针类型,但编译器似乎并不认为这
我正在自己制定“任何”课程。如以下代码所示,我有两个问题。
<pre class="lang-cpp prettyprint-override"><c
如何确定实际对象的类型而不使用typeid / RTTI - || 我有一个班级,其中孩子班级来自父母。
在一个地方,我需要将任何类型的对象存储(排队)到列表list [Parent *]中,然后再从该列表中检索对象。在存储时,我存储了指向最顶层父类的指针。检索时,我需要了解它实际上是哪个子对象,以便能够通过向下...
我有一个想法,在编译时使用模板将枚举值映射到相应的数据类型。我该怎么做?
例如
<pre class
<pre><code>string k="*";
cout<<typeid(k).name()<<endl;
</code></pre>
输出:<code>Ss</code>
<pre><code>cout<