C++

中文bug总结 | C++

常量中有换行符 描述 vs 或者 Qt 编译含中文的文件时候,会提示错误: error C2001:常量中有换行符 解决方法 最简单的方法:notepad++打开cpp文件→编码→使用UTF-8 Bom编码→保存        

vector常见bug | C++

一、编译器报错:vector不是模板 vector在命名空间std里,因此需要在vector前加std::,或者在头部添加using namespace std;。 错误写法示例: #include <vector> vector<int> zhaoyabo; 正确写法一: #include <vector> std::vector<int> zhaoyabo;//正确写法1 正确写法二: #include <vector> using namespace std;//正确写法2 vector<int> zhaoyabo;    

二维vector初始化 | C++

方法一 初始化二维向量 m*n,初始值为 0 #include<iostream> int main(){ int m = 2, n = 5; vector<vector<int>> vec(m, vector<int> (n, 0)); return 0; } 方法二 std::vector<std::vector<int> > adj; adj = { {1, 2}, {3, 4, 5} }; // adj now contains two vectors containing {1, 2} and {3, 4, 5} respectively   方法三 C++11中引入了统一初始化: std::vector<std::vector<int> > fog { { 1, 1, 1 }, { 2, 2, 2 } };     一维vector的初始化见本博客文章: 初始化vector的6种方法 | C++    

初始化vector的6种方法 | C++

1. 使用push一个接着一个的初始化 : // CPP program to create an empty vector // and push values one by one. #include <bits/stdc++.h> using namespace std; int main() {     // Create an empty vector     vector<int> vect;     vect.push_back(10);     vect.push_back(20);     vect.push_back(30);     for (int x : vect)         cout << x << ” “;     return 0; } Output: 10 20 30 2. 指定大小并初始化所有值 : // CPP program to create an empty vector // and push values one by one. #include <bits/stdc++.h> usin...

错误使用mex|安装gcc|matlab与C++混编

问题 >>mex -setup 错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请 访问 http://www.mathworks.com/support/compilers/R2017a/。 解决方法 进入https://jmeubank.github.io/tdm-gcc/ 下载 TDM-GCC 安装程序,选择版本,例如我下载的是tdm64-gcc-10.3.0-2.exe。 安装tdm64-gcc-10.3.0-2.exe。 安装完成。 系统属性-环境变量-系统变量-新建-“变量名”字段中输入MW_MINGW64_LOC,“变量值”“”字段中键入MinGW-w64编译器安装的位置,例如C:\TDM-GCC-64。 使用MATLAB将MW_MINGW64设置为临时环境变量:在matlab编辑界面输入 >>setenv(‘MW_MINGW64_LOC’,’C:\TDM-GCC-64′) >> mex -setup MEX 配...