为什么第一行不用空字符串替换“(”,而第二行呢?
public static void main(String []args){
String a="This(rab)(bar)";
a=a.replace("\\(",""); //First
String b=a.replaceFirst("\\(","");//Second
System.out.println(a + " "+b);
}
Run Code Online (Sandbox Code Playgroud) 在这里,我正在创建动态分配的 S 对象数组,我希望它们被 unique_ptr 销毁,这不会发生,我收到此错误
命令由信号 11 终止
这意味着程序访问了它不应该访问的内存。
#include <iostream>
#include <memory>
class S{
public:
S(){std::cout<<"Constructor\n";}
~S(){std::cout<<"Destructor\n";}
};
int main() {
S* arr=new S[4];
{
using namespace std;
unique_ptr<S> ptr=unique_ptr<S>(arr);
}
}
Run Code Online (Sandbox Code Playgroud)