小编Ans*_*man的帖子

共享指针 [] 运算符和 ++ 运算符

我们可以将 [] 运算符或 ++ 与唯一指针或 shared_pointer 一起使用吗?当我们将它用于原始指针时

int * a = new int[10];
a[0] = 2; // We can use [] operator;
Run Code Online (Sandbox Code Playgroud)
  • 智能指针有类似的方法吗?

  • 如果有,我应该什么时候使用它?

  • 如果它不存在,那么为什么?
  • 多维数组也可以吗?

c++ arrays pointers smart-pointers

2
推荐指数
1
解决办法
645
查看次数

在字符串python中使用string.format和"{"

字符串已经在'{'里面了.现在我想使用python格式方法.

a = "{foo{}}"
b = a.format("bar")
Run Code Online (Sandbox Code Playgroud)

结果应该是 {foobar}

有很多方法可以解决这个问题,但我想知道有没有办法先跳过'{'.

python string

2
推荐指数
1
解决办法
95
查看次数

将自动分配的std :: vector转换为动态分配的std :: vector,而无需复制开销

在这里我有一个自动分配std::vector v.现在有没有办法构造另一个动态分配std::vector ,v从而没有复制构造函数的开销.

std::vector<int> v(3);
std::vector<int>* v2 = new std::vector<int>(v);
Run Code Online (Sandbox Code Playgroud)
  1. 当destrucotor v被召唤时会发生什么?
  2. 有人可以说移动std :: vector的构造函数.
  3. 或者我不应该担心这个,因为编译器会为我优化这个?

我终于想要一个std :: shared_ptr v2,我可以将其传递给其他函数.

c++ memory-management stl vector c++14

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