首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何声明数组,然后在另一行中赋值

如何声明数组,然后在另一行中赋值
EN

Stack Overflow用户
提问于 2017-07-20 20:14:27
回答 2查看 78关注 0票数 0
代码语言:javascript
复制
class c{};

c *ar[2];

ar = {new c, new c}; //error

“数组类型不可赋值”声明后如何赋值,我想这么做是因为类使用了这个变量,所以我只想声明它,创建一个类,然后赋值,我不能在类之前赋值,因为它不能在没有定义类的情况下生成new c

EN

回答 2

Stack Overflow用户

发布于 2017-07-20 20:46:45

使用标准库算法generate

代码语言:javascript
复制
#include <algorithm>
#include <iterator>

class c{};
c* ar[2];
std::generate(std::begin(ar), std::end(ar), [] { return new c; });
票数 1
EN

Stack Overflow用户

发布于 2017-07-20 20:28:28

使用循环:

代码语言:javascript
复制
for(auto i = std::begin(ar);i!=std::end(ar);++i)
    *i = new c;

这将适用于(几乎)所有容器类,而不仅仅是原始数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45214397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档