C++开发常见问题记录

1.提示strcpy等函数不安全,建议使用strcpy_s等函数。

处理方法:在VS集成环境的 项目->属性->C/C++->预处理器->预处理器定义 中添加 _CRT_SECURE_NO_WARNINGS 即可。

 

2.在VS2017中开启C++2.0以上的特性

C++11、C++14、C++17

进入项目属性->C/C++->语言->C++语言标准,选择ISO C++14标准(/std:c++14)

虽然新特性能够正常使用,但是cout<<__cplusplus<<endl;打印出的时间总是199711,不正常。

 

3.在VS2017中使用STL的Array,元素太多时无法运行

const size_t size = 5000000;
array<double, size> arr;
for (auto& i : arr) {
    i = 50000.0;
}

程序运行自动停止。

可以将arr定义为static变量,这样可以将其从堆栈数据段挪到全局数据段即可避开因局部数组大小超过默认堆栈大小1MB造成程序不能正常运行的问题。

const size_t size = 5000000;
static array<double, size> arr;
for (auto& i : arr) {
    i = 50000.0;
}

 

posted @ 2019-06-25 02:43  风间悠香  阅读(363)  评论(0编辑  收藏  举报