每次添加元素时,每次空间用完时,矢量都会增加一倍,但是当你删除元素时呢?假设您向数组添加了800个元素,并且在添加第800个元素时,向量将其大小加倍,以便能够容纳1600个元素.现在如果你开始把元素拿走到它唯一的持有5或10个元素的点上怎么办?
它是否会认识到向量远小于为未来元素保留的空间大小的一半并且保留更少的空间?
由于新的运行时库不在每台计算机上,因此需要下载可再发行组件,我知道我可以使用某种安装程序执行此操作,但这非常麻烦.
那么我是否只有一种方法可以使用每台计算机上的旧运行时库来构建我的项目?
或者,如果我下载旧版本的可视工作室并在那里构建项目来创建发布,那么它是否可以正常工作?如果这是可能的,这是最好的方法吗?
注意:静态链接库是不可能的.
我正在开发一个程序,我需要一个只有三个状态的变量,未触及(未初始化),true和false,因此很明显布尔值将是最佳选择.但在确定bool是否未受影响时,我遇到了一些问题.我很快发现布尔默认为204或205,但你怎么能说出来?我已经对它进行了一些测试,我注意到在我的一个程序中,它一直是204,但在另一个程序中它是205.
我不确定是什么决定了这个值,以及它的值是否因程序或基于设备和所使用的操作系统而异,但是无论操作系统或设备如何,该值在整个程序中是否一致?就像在,它会起作用吗?
//for some reason the default is only 204 or 205 when in an array
bool asdf[1];
const bool UNDEFINED_BOOL = asdf[0];
Run Code Online (Sandbox Code Playgroud)
而不是使用整个UNDEFINED_BOOL程序的值作为比较,以查看bool(在数组中)是否未定义?它似乎在我的设备上工作,但它适用于所有设备和所有操作系统?这是整个C++中一致的东西吗?还有另一种方法可以找出未定义的bool的值是什么,或者是没有示例你无法确定的东西?
编辑:当我的程序设置为true或false时,永远不会有理由将其设置为未初始化,所以这不是我要担心的事情