相关疑难解决方法(0)

什么是C++ 11中的lambda表达式?

什么是C++ 11中的lambda表达式?我什么时候用?他们解决了哪些问题在引入之前是不可能的?

一些示例和用例将是有用的.

c++ lambda c++-faq c++11

1408
推荐指数
7
解决办法
45万
查看次数

C++中的POD类型是什么?

我有几次遇到这个术语POD型.这是什么意思?

c++ types c++-faq

919
推荐指数
8
解决办法
29万
查看次数

typedef struct vs struct definitions

我是C编程的初学者,但我想知道typedef在定义结构时使用与使用结构之间有什么区别typedef.在我看来,实际上没有区别,他们实现了同样的目标.

struct myStruct{
    int one;
    int two;
};
Run Code Online (Sandbox Code Playgroud)

typedef struct{
    int one;
    int two;
}myStruct;
Run Code Online (Sandbox Code Playgroud)

c struct typedef

763
推荐指数
10
解决办法
66万
查看次数

C++中struct和class之间有什么区别?

这个问题已在C#/ .Net的背景下提出.

现在我想学习C++中结构和类之间的区别.请讨论技术差异以及在OO设计中选择其中一个的原因.

我将从一个明显的区别开始:

  • 如果您没有指定public:or private:,则结构的成员默认是公共的; 默认情况下,类的成员是私有的.

我确信在C++规范的模糊角落中还有其他差异.

c++ oop struct class c++-faq

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

C/C++ Struct vs Class

在完成我的C++类之后,在我看来,结构/类几乎完全相同,除了一些细微的差别.

我以前从未用C语言编程; 但我确实知道它有结构.在C中是否可以继承其他结构并设置公共/私有的修饰符?

如果你能在常规C中做到这一点,为什么我们需要C++?是什么让类与结构不同?

c++ struct class

104
推荐指数
4
解决办法
9万
查看次数

map <int,int>默认值

std::map<int,int> mapy;
++mapy[5];
Run Code Online (Sandbox Code Playgroud)

假设mapy[5]永远是1 是安全的吗?我的意思是,mapy[5]在'++'之前总是会得到默认值0,即使没有显式声明,就像我的代码一样?

c++ dictionary default

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

为什么没有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
查看次数

这些成员是否有未指定的订单?

一位同事告诉我,在以下类型中,所有成员在内存中都有未指定的顺序(相对于彼此).

我对此表示怀疑,因为它们都具有相同的访问级别.

谁是对的?

struct foo { public: int x; public: int y; public: int z; };
Run Code Online (Sandbox Code Playgroud)

c++ c++11 c++03

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

C++中的结构与类

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

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

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

c++ class

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

拥有带方法的结构总是邪恶的吗?

我刚刚浏览并发现以下内容......

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

根据惯例,你应该只使用结构用于POD,没有方法等.

我一直认为某些类型是自然结构而不是类,但仍然可以有一些辅助函数作为成员.结构应该仍然是大多数通常规则的POD - 特别是使用memcpy复制必须是安全的.它必须公开所有成员数据.但是,将助手功能作为成员对我来说仍然有意义.我甚至不一定会反对私人方法,尽管我不记得曾经这样做过.虽然它打破了正常的POD规则,但我不反对具有构造函数的结构,只要它们只是初始化 - 少数字段构造函数(重写赋值或析构函数肯定会违反规则).

对我来说,结构直观地是字段的集合 - 数据结构节点或其他 - 而类是抽象.为字段集合提供辅助函数的逻辑位置可能在结构中.

我甚至认为我曾经沿着这些方向阅读过一些建议,尽管我不记得在哪里.

这是否违反公认的最佳做法?

编辑 - POD(普通旧数据)被这个问题误传.特别是,结构可以是非POD纯粹因为成员是非POD - 例如具有std :: string类型成员的聚合.不得使用memcpy复制该聚合.如果有困惑,请看这里.

c++ struct class

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

标签 统计

c++ ×9

class ×4

struct ×4

c++-faq ×3

c++11 ×3

c ×1

c++03 ×1

default ×1

dictionary ×1

lambda ×1

oop ×1

type-traits ×1

typedef ×1

types ×1