C++ 新类型初始化

标签 c++ visual-c++

假设我创建了一个这样的新类型:

typedef std::pair<int, int> location;

那我该如何定义一个新的位置呢? 我现在这样做:

location end;
end.first = 1;
end.second = 2;

但是有没有更快的方法呢?

非常感谢:D

最佳答案

您可以使用聚合初始化:

location end = { 1, 2 };

std::make_pair :

auto end = std::make_pair(1, 2);

或者直接调用构造函数:

location end(1, 2);

关于C++ 新类型初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43811359/

相关文章:

html - 如何从 C++ 打开 URL?

C++11 线程 - 非静态成员函数的无效使用 - 工作 gcc 5.1.0 损坏的 gcc 7.3.1

c++ - 测试 C++ 轮询套接字功能

c++ - 从二进制文件 C++ 中读取二维 vector

c++ - "virtual void IBase::Foo"和 "virtual void Foo"之间有什么区别吗?

c++ - 似乎无法忽略 Visual Studio 2010 中的库

c++ - 不同 vector 类型的列表?

c++ - 什么时候隐式 move 构造函数不够好?

c++ - "Ambiguous call to overloaded function"在 MSVC 编译器中带有枚举类

c++ - 如何将 C++ 源代码片段放入字符串中?