小编Dav*_*vid的帖子

如何使用多个源文件使用gcc创建单个目标文件

我正在使用带有g ++ 的-c选项来创建一堆目标文件,并且它只允许我为每个目标文件指定一个源文件.我想让其中一些文件进入其中.有没有办法做到这一点?

c++ gcc g++ object

11
推荐指数
2
解决办法
2万
查看次数

有没有办法告诉指针在C++中实际指向的类型

在C++中,您可以将指针声明为一种类型,然后将其指向另一种继承类型.有什么方法可以告诉你当前指的是哪个?

#include <typeinfo>
using namespace std;

class Foo
{
};

class Bar : public Foo
{
};

int main()
{
    Bar bar;
    Foo* foo = &bar;
    bool I_WANT_THIS_TO_BE_TRUE = (typeid(*foo) == typeid(Bar));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism inheritance pointers generic-programming

2
推荐指数
1
解决办法
106
查看次数

为什么模板<typename T>在C++中评估为Foo而不是Bar

在这段代码中,为什么typename T(在Test(...)函数中)评估为键入Foo而不是类型Bar?我怎样才能改变它以使它成为Bar型?

#include <typeinfo>
using namespace std;

struct Foo
{
    virtual ~Foo() { }
};

struct Bar : public Foo
{
};

template<typename T>
bool Test(T foo)
{
    return (typeid(foo) == typeid(Bar));
}

int main()
{
    Bar bar;
    Foo *foo = &bar;
    bool THIS_IS_TRUE = (typeid(*foo) == typeid(Bar));
    bool WHY_ISNT_THIS = Test(*foo);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism inheritance pointers generic-programming

2
推荐指数
1
解决办法
245
查看次数