是否有任何情况下,缺少 a#include会在运行时破坏软件,而构建仍在进行中?
换句话说,有没有可能
#include "some/code.h"
complexLogic();
cleverAlgorithms();
Run Code Online (Sandbox Code Playgroud)
和
complexLogic();
cleverAlgorithms();
Run Code Online (Sandbox Code Playgroud)
两者都会成功构建,但行为不同吗?
我有一个数组char* source和一个向量std::vector<char> target。我想让向量target指向sourceO(1),而不复制数据。
沿着这些路线的东西:
#include <vector>
char* source = new char[3] { 1, 2, 3 };
std::vector<char> target;
target.resize(3);
target.setData(source); // <- Doesn't exist
// OR
std::swap(target.data(), source); // <- swap() does not support char*
delete[] source;
Run Code Online (Sandbox Code Playgroud)
为什么不能手动更改矢量指向的位置?如果可能的话,是否会出现一些特定的、无法管理的问题?