小编Jab*_*bor的帖子

Matlab - 访问多维数组的一部分

我试图在Matlab中访问多维数组的一部分 - 它可以这样做:X(2:3, 1:20, 5, 4:7) 但是,元素的数量和范围都没有固定,所以我想提供数组的索引 - 对于上面的例子他们会的

ind1 = [2 1 5 4];
ind2 = [3 20 5 7];
Run Code Online (Sandbox Code Playgroud)

对于固定数量的维度,这不是问题(X(ind1(1):ind2(1),...)但是因为它们不是我不确定如何在Matlab中实现它.有没有办法?或者我应该以不同的方式处理它?

arrays matlab tensor

6
推荐指数
1
解决办法
138
查看次数

唯一指针作为默认参数

我试图将nullpointer包装为一个唯一的指针作为函数的默认参数.仅使用指针,标题可能如下所示

double f(A* vec = nullptr);
Run Code Online (Sandbox Code Playgroud)

因为我确实需要使用unique_ptr,所以我尝试将其更改为

double f(std::unique_ptr<A>& A vec = nullptr);
Run Code Online (Sandbox Code Playgroud)

要么

double f(std::unique_ptr<A>& A vec = std::unique_ptr<A>(nullptr));
Run Code Online (Sandbox Code Playgroud)

这导致了错误

无法将'nullptr'从'std :: nullptr_t'转换为'std :: unique_ptr&'

不能将'std :: unique_ptr&'类型的非const左值引用绑定到'std :: unique_ptr'类型的右值

respecively.有没有办法做到这一点?我对C++比较陌生,所以答案可能很明显.


与问题无关,但是我选择unique_ptr的解释:参数vec用作f中迭代的起始值,并使用指针返回改进的值.计划是如果没有给出起始值,则将指针设置为nullptr,并在程序期间计算起始值.因为我生成了一个新对象,所以我可以看到,在裸指针上使用unique_ptr更安全.

c++ pointers unique-ptr c++11

3
推荐指数
1
解决办法
1056
查看次数

标签 统计

arrays ×1

c++ ×1

c++11 ×1

matlab ×1

pointers ×1

tensor ×1

unique-ptr ×1