【发布时间】:2020-02-23 22:12:57
【问题描述】:
我正在做一个项目,无法使用括号表示法,但必须对数组使用智能指针。但是,正如我发现的那样,智能指针不允许使用指针算术。有解决办法吗?
编辑:该项目是针对一门课程的,在项目规范中它说不能使用括号表示法,并且必须使用智能指针形式的动态分配数组。
【问题讨论】:
-
您仍然可以在指向
T[]的智能指针上使用operator[]。为什么要指针算术?你想做什么?见:How to Ask/minimal reproducible example -
你能更具体地说明你想用指针算术做什么吗?
-
您可以使用
get()(例如std::unique_ptr)访问原始指针并对其进行指针运算。 -
"[...] 指针算术的限制 [...]" 你问的是哪些限制?
标签: c++ smart-pointers pointer-arithmetic