像数组一样初始化类对象

2024-05-05

我正在为学校项目创建一个自定义向量类,我希望能够像这样初始化它:

vector x = { 2, 3, 4, 5 };

C++有什么办法可以做到这一点吗?

这是我的班级的标题:

class vector {
private:

    int vsize;
    int valloc;
    double* values;

public:

    vector() : vsize(0), valloc(0), values(nullptr) {}
    vector(???);
    vector(const vector& v);
    int size() const { return vsize; };
    int alloc() const { return valloc; };
    void resize(int newsize);
    void insert(double x);
    void insert(double x, int index);
    double* value() const { return values; };
    double value(int index) const { return *(values + index - 1); }

};

您可以通过添加一个构造函数来支持这一点std::initialzer_list<double>.

vector(std::initializer_list<double> init) : vsize(init.size()),
                                             valloc(init.size()),
                                             values(new double[init.size()])
{
   std::copy(init.begin(), init.end(), values);
}

您可以通过使用模板使其更加灵活。

template <typename T>
vector(std::initializer_list<T> init) : vsize(init.size()),
                                        valloc(init.size()),
                                        values(new double[init.size()])
{
   std::copy(init.begin(), init.end(), values);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

像数组一样初始化类对象 的相关文章

随机推荐

  • 更改 Amazon RDS MYSQL Linux 服务器的 innodb_log_file_size 变量值

    我们正在使用 Amazon RDS linux 服务器作为 MYSQL 更改 my cnf 文件变量值的方法是什么 我正在尝试更改 innodb log file size 变量 您能告诉我哪一个是最好的改变方式吗 所以请帮我解决这个问题
  • 角度 2 |类型“{}”的指令参数不可分配给

    我是 Angular 2 的菜鸟 我正在做 YouTube 教程 但每个教程都有directives 我被困的部分 应用程序组件 ts import Component from angular core import HeaderComp
  • 设备锁定时,互联网音乐播放器无法加载歌曲(打瞌睡模式?)

    我正在构建一个音乐播放器 可以播放互联网上的歌曲 我注意到 通常 当一首歌曲结束并且必须加载另一首歌曲时 应用程序不会播放下一首歌曲 我等啊等 终于决定解锁手机以了解发生了什么 令人惊讶的是 设备解锁后立即开始播放以下歌曲 第一次我以为这只
  • 发起TCP连接关闭后如何接收数据?

    TCP 允许一侧发出 FIN 并让另一侧在结束其一侧的连接之前响应一些数据 我如何使用 NET 来实现这一点TcpClient 看来我必须使用Close发出FIN 但之后我不能再打电话Client Receive since Client被
  • 使用 jquery 更改具有嵌套内容的 div 的可见性,onclick

    我有一个链接列表 当单击其中一个链接时 我想更改与其关联的 div 的可见性 我的 html 如下所示 div ul li class active a href Link 1 a li li a href Link 2 a li li a
  • PyCurl 请求在执行时无限挂起

    我编写了一个脚本来从 Qualys 获取扫描结果 每周运行一次以收集指标 该脚本的第一部分涉及获取过去一周运行的每个扫描的引用列表以进行进一步处理 问题是 虽然有时这会完美地工作 但有时脚本会挂在c perform 线 手动运行脚本时这是可
  • 如何从 MWS 检索亚马逊退货商品

    我尝试获取每个订单的退回商品 但不幸的是 它似乎没有从亚马逊网络服务提供此类信息 public GetOrderResponse InvokeGetOrder Create a request GetOrderRequest request
  • 在 IconPageIndicator 中自定义填充和边距

    我正在尝试实现自定义 IconPageIndicator viewpager 我想自定义 com viewpagerindicator IconPageIndicator 中显示的图标的边距和填充 所以我编写了自定义 IconPageInd
  • 如何用泛型返回类型推断方法的具体返回类型?

    给出以下接口 interface Random extends java util function Supplier
  • 前景色中的 Alpha

    我想在标签控件中创建文本的淡入淡出效果 我更改了标签前景色中的 Alpha 值 但它不受影响 我在这里看到同样的问题 http phorums com au showthread php 190812 Alpha value of the
  • “android.enableUnitTestBinaryResources”已弃用[重复]

    这个问题在这里已经有答案了 我刚刚更新了我的 Android Studio 现在当我构建我的项目时 我收到此错误 选项 android enableUnitTestBinaryResources 已弃用 这 当前默认值为 假 已从当前版本中
  • Kubernetes Pod 中现在几点了?

    假设我有一些 NET Core 代码在 k8s pod 中运行 我要求 DateTime Now 我假设我将从运行 pod 的主机获取日期时间 有没有办法获得在 k8s 集群中一致的日期时间值 容器中的时钟与主机相同 因为它由内核控制 时区
  • WP8 上的 IE 10 忽略媒体查询?

    我正在开发一个使用媒体查询的网站 我可以在桌面浏览器中看到它们正常工作 但是当我在 WP8 设备上导航到该网站时 没有加载 CSS 我创建了一个非常简单的 HTML 页面来复制问题并显示我尝试过但无法正常工作的解决方案 这是完整的代码
  • 全文搜索 DynamoDB

    以下情况 我正在为我的客户将元素存储在 DyanmoDb 中 HashKey 是元素 ID Range Key 是客户 ID 除了这些字段之外 我还存储一个字符串数组 gt 标签 例如 Pets House 和多行文本 我想在我的应用程序中
  • 在 Yii 2.0 中添加 jquery

    如何在 Yii 2 0 中将 jQuery 添加到我的页面 在 Yii 1 x 中你可以使用 Yii app gt clientScript gt registerCoreScript jquery 我已经尝试用自己的 View 类重写并尝
  • 正则表达式奇/偶数

    我有一个正则表达式问题 我不知道该怎么做 它必须匹配开头包含任意数量的 a 的所有字符串 如果 a 的数量为偶数 则匹配单个 0 如果 a 的数量为奇数 则匹配单个 1 如何跟踪偶数 奇数 Sample aaa1 aaaa0 a aa 1
  • 在Python中使用Pandas进行数字到日期的转换?

    当我尝试从数字格式转换为日期时 我没有得到与 Excel 中相同的结果 我需要转换一个Number to 日期格式并得到与 Excel 中相同的结果 例如 在 Excel 中 对于以下数字 我得到以下结果 Input 42970 73819
  • EaselJS:使用线连接 2 个容器/形状

    我希望能够单击一个容器 形状 当我移动鼠标时 会绘制一条可以连接到另一个容器 形状 一端有箭头 的线 理想情况下 我希望这条线捕捉到目标元素 我是 EaselJS 的新手 我不知道如何解决这个问题 这是我在这里遇到的关闭 我无法理解它 使用
  • 数据源和数据集的区别

    我目前正在开发一个项目 其主要任务是读取存储在 SQL 数据库中的数据并以用户友好的形式显示它们 使用的编程语言是C 我在 Borland C Builder 6 环境中工作 但我认为标题中提出的问题与编程语言或库无关 当从数据库读取数据时
  • 像数组一样初始化类对象

    我正在为学校项目创建一个自定义向量类 我希望能够像这样初始化它 vector x 2 3 4 5 C 有什么办法可以做到这一点吗 这是我的班级的标题 class vector private int vsize int valloc dou