cal*_*pto -1 c++ arguments for-loop dynamic
为什么在for循环中更改参数会导致程序崩溃?它对c ++来说太动态了吗?
for(unsigned int x = 0; x < mystring.size(); x++)
mystring = mystring.substr(0, mystring.size());
Run Code Online (Sandbox Code Playgroud)
当我改变我的真实代码来执行此操作(mystring.size()> 0)时,我的程序仍然崩溃
编辑:
好.你们是对的,由于mystring值的变化,代码没有崩溃.但是,这段代码很简单,我没看到错误来自哪里:
template <class Algorithm>
class ECB{ // Electronic codebook
private:
Algorithm algo;
uint8_t blocksize;
public:
ECB(Algorithm instance, std::string = "")
: algo(instance) {
blocksize = algo.blocksize() >> 3;
}
std::string encrypt(std::string data){
data = pkcs5(data, blocksize);
return data;
}
std::string decrypt(std::string data){
return remove_padding(data);
}
};
Run Code Online (Sandbox Code Playgroud)
请不要链接我到网站教我如何使用ECB.它不像它的硬.但是,这段代码很烦人
这不应该崩溃.你实际上在做的是将相同的字符串分配给同一个变量n次,其中n是字符串的长度.这在C++中是完全合法的.你没有告诉我们完整的故事