相关疑难解决方法(0)

你最喜欢的C++ Coding Style成语是什么?

你最喜欢的C++编码风格是什么?我问的是样式或编码排版,例如你在哪里放大括号,在关键字后面有空格,缩进的大小等等.这与最佳实践或要求相反,例如总是删除数组delete[].

以下是我最喜欢的一个示例:在C++类初始值设定项中,我们将分隔符放在行的前面而不是后面.这样可以更容易地保持最新状态.这也意味着版本之间的源代码控制差异更清晰.

TextFileProcessor::
TextFileProcessor( class ConstStringFinder& theConstStringFinder ) 

    : TextFileProcessor_Base( theConstStringFinder )

    , m_ThreadHandle  ( NULL )
    , m_startNLSearch (    0 )
    , m_endNLSearch   (    0 )
    , m_LineEndGetIdx (    0 )
    , m_LineEndPutIdx (    0 )
    , m_LineEnds      ( new const void*[ sc_LineEndSize ] )
{
    ;
}
Run Code Online (Sandbox Code Playgroud)

c++ coding-style

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

什么是C++中的多态类型?

我在一篇文章中发现"static_cast用于非多态类型转换,而dynamic_cast用于多态类型转换".我知道int和double不是多态类型.

但是,我还发现static_cast可以在基类和派生类之间使用.这里的多态类型是什么意思?有人说多态类型意味着具有虚函数的基类.是对的吗?这是唯一的情况吗?还有什么?任何人都可以为我详细说明这个吗?

c++

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

使用工厂模式按名称实例化类

假设我有一个A, B, C, ...所有继承的类列表Base.

我从类用户获取类名作为字符串,我想实例化正确的类并返回指向Base.你会如何实现这个?

我想过使用一个以类名作为键的哈希表,以及一个函数指针,该函数指向实例化正确类并返回一个的函数Base *.

但是,我想我可以在这里使用工厂模式并使其更容易,但我不能很好地记住它,所以我虽然我会寻求建议.

c++ design-patterns class

4
推荐指数
1
解决办法
7302
查看次数

从现有的一次创建新的类实例?

我有一个指向基类foo的指针向量,它有几个子类,我想要做的是基于它是哪个子类,创建一个同一个实例的新类.

我之前通过一个巨大的for循环解决了它,它使用typeid找出它是什么类但是没有办法以更一般的方式解决它?

基本上,我正在寻找这样的东西:

std::vector<foo*> a;
std::vector<foo*> b;

//Store a couple of classes in a and b

b[0] = new typeid(a[0]).name();
Run Code Online (Sandbox Code Playgroud)

c++ vector

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

标签 统计

c++ ×4

class ×1

coding-style ×1

design-patterns ×1

vector ×1