相关疑难解决方法(0)

为什么模板只能在头文件中实现?

引自C++标准库:教程和手册:

目前使用模板的唯一可移植方法是使用内联函数在头文件中实现它们.

为什么是这样?

(澄清:头文件不是唯一的便携式解决方案.但它们是最方便的便携式解决方案.)

c++ templates c++-faq

1660
推荐指数
14
解决办法
46万
查看次数

什么时候应该在C++中使用类vs结构?

在什么情况下在C++中使用structvs a 更好class

c++ oop struct ooad class

895
推荐指数
15
解决办法
38万
查看次数

643
推荐指数
15
解决办法
33万
查看次数

使用'class'或'typename'作为模板参数?

可能重复:
模板中关键字'typename'和'class'的C++差异

在C++中定义函数模板或类模板时,可以这样写:

template <class T> ...
Run Code Online (Sandbox Code Playgroud)

或者可以这样写:

template <typename T> ...
Run Code Online (Sandbox Code Playgroud)

是否有充分理由偏好一个而不是另一个?


我接受了最受欢迎(也很有趣)的答案,但真正的答案似乎是"不,没有理由偏爱另一个."

  • 它们是等价的(除非如下所述).
  • 有些人有理由一直使用typename.
  • 有些人有理由一直使用class.
  • 有些人有理由同时使用这两种方法.
  • 有些人并不关心他们使用哪一个.

但是,请注意,在模板模板参数的情况下,需要使用class而不是typename.请参阅下面的user1428839的答案.(但这个特殊情况不是偏好问题,而是语言的要求.)(这也会改变typename)

c++ templates

572
推荐指数
8
解决办法
26万
查看次数

C++中的Struct构造函数?

可以struct在C++中有一个构造函数吗?

我一直试图解决这个问题,但我没有得到语法.

c++ constructor struct

343
推荐指数
15
解决办法
52万
查看次数

在C中将struct复制到struct

我想将一个相同的结构复制到另一个结构中,然后将其用作第一个结构的比较.问题是,当我这样做时,我的编译器给了我一个警告!我应该以其他方式做到这一点还是我做错了:

在标题文件中:

extern struct RTCclk
{
uint8_t second;
uint8_t minute;
uint8_t hour;
uint8_t mday;
uint8_t month;
uint8_t year;
}
RTCclk;
Run Code Online (Sandbox Code Playgroud)

在C文件中:

struct RTCclk RTCclk;
struct RTCclk RTCclkBuffert;

void FunctionDO(void)
{
   ... // Some Code
   /* Copy first struct values into the second one */
   memcpy(&RTCclk, &RTCclkBuffert, sizeof RTCclk);
}
Run Code Online (Sandbox Code Playgroud)

c struct copy microchip

61
推荐指数
3
解决办法
16万
查看次数

为什么没有std :: is_struct类型特征?

我已经看到,为了检查类型T是否是我可以使用的类:

bool isClass = std::is_class<T>::value;
Run Code Online (Sandbox Code Playgroud)

它对类和结构都返回true.我知道在C++中它们几乎是一样的,但我想知道为什么在类型特征中它们之间没有区别.检查这种差异总是没用,还是有一些我不理解的理由?

c++ type-traits c++11

56
推荐指数
5
解决办法
9478
查看次数

什么会导致C++中的分段错误?

我注意到C++中的分段错误的常见原因列表没有问题,所以我想我会添加它.

自然它是社区维基,因为没有一个正确的答案.

我认为这对于学习C++的新程序员可能有用,如果你不同意,可以随意关闭它.

c++ segmentation-fault

41
推荐指数
3
解决办法
4万
查看次数

C++中的结构与类

什么时候应该有人在C++中使用结构而不是类,反之亦然?当一个完整的类管理一些信息似乎有点过分,但我想发现自己使用结构,但是想表明所包含的信息都是相关的.我想知道什么是一个好的指导方针,能够分辨哪一个比另一个更合适?

编辑:在阅读材料时发现这些链接在提交问题后,指示的Stack Overflow是相关的:

什么时候应该在C++中使用类vs结构?
C++中struct和class之间有什么区别?

c++ class

22
推荐指数
2
解决办法
4536
查看次数

enum struct和enum class有什么区别?

看一下enum文档,我注意到了一件事:

枚举 - 一个enum,enum class(自C++ 11以来),或enum struct(自C++ 11以来)

enum而且enum class,当然,但是什么是enum struct

文档似乎说enum class并且enum struct完全相同:

[...] 范围枚举(使用枚举键 声明enum classenum struct)


  • enum struct| class 名称 { enumerator = constexpr , enumerator = constexpr , ... }
  • [...]

他们真的完全一样吗?或者我错过了什么差异?对同一件事有两种不同的语法有什么意义(如果它们是相同的)?

c++ enums c++11

16
推荐指数
2
解决办法
8529
查看次数