小编Fen*_*ang的帖子

'typedef'是否在C++类中自动继承?

我曾经认为'typedef'不会自动继承.但下面的代码表示不同的东西.

#include <iostream>
#include <type_traits>

struct A
{
    typedef int X;
};

struct A_ 
{
    typedef char X;
};

struct B : A {};
struct B_ : A, A_ {};

template< typename ... Ts >
using void_t = void;

template< typename T, typename = void >
struct has_typedef_X : std::false_type {};

template< typename T >
struct has_typedef_X< T, void_t<typename T::X> > : std::true_type {};

int main()
{
    std::cout << std::boolalpha;
    std::cout << has_typedef_X<A>::value << std::endl;
    std::cout << has_typedef_X<A_>::value << std::endl; …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

17
推荐指数
1
解决办法
2734
查看次数

为什么(0 + 0i)^ {0} ==(nan,nan)在c ++中

看看代码吹响:

#include <complex>
#include <iostream>

int main()
{
    std::cout << std::pow( std::complex<double>(0,0), std::complex<double>(0,0) ) << "\n";
    std::cout << std::pow( std::complex<double>(0,0), double(0) ) << "\n";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

g ++(4.8.1)给出了输出

(nan,nan)
(-nan,-nan)
Run Code Online (Sandbox Code Playgroud)

而clang ++(3.3)给出了一个输出

(-nan,-nan)
(-nan,-nan)
Run Code Online (Sandbox Code Playgroud)

但我期待(1.0,0.0).

任何人都可以解释一下吗?

c++ numeric nan complex-numbers exponential

10
推荐指数
1
解决办法
426
查看次数

在vim模式搜索/替换中需要转义的所有特殊字符?

有他们的名单吗?当我想在我的 python 代码中替换{inspect.stack()[0][3]}to时遇到了麻烦{inspect.stack()[0][3]} called from {inspect.stack()[1][3]}。而且我无法从互联网上找到完整列表。

vim

6
推荐指数
1
解决办法
521
查看次数

标签 统计

c++ ×2

c++11 ×1

complex-numbers ×1

exponential ×1

nan ×1

numeric ×1

vim ×1