C++
Eric-lsl
这个作者很懒,什么都没留下…
展开
-
C#程序调用C++生成的*.dll报错及其解决方案
写在前面通常,C#程序调用C++程序有两种方式,一种是托管C++,另一种是非托管C++。两种方式都会生成*.dll文件。关于两种方式的区别以及具体该如何使用,请见。问题C#调用C++生成的*.dll,无论是托管C++生成的还是非托管C++生成的,如果遇到以下两种报错(共性:试图加载格式不正确的程序):或者那么一个可能的原因是:生成*.dll项目的平台与C#项目的平台不一致。解决方案修改C#项目的平...原创 2018-06-11 11:24:52 · 731 阅读 · 0 评论 -
fopen_s / fprintf 报错 stream!=nullptr
bug用fopen_s()函数打开文件,然后用fprintf()函数向文件写入内容。跟踪调试显示,fopen_s()函数没有报错,fprintf()函数报错,stream!=nullptr。原来是fprintf()所用的文件指针为空,而fopen_s()得到的文件指针恰恰为空。 原因这是由所要打开的文件被占用导致的。...原创 2019-01-05 20:23:45 · 4591 阅读 · 1 评论 -
一文读懂C++的if与else判断语句
说个明白先从最简单的说起。if语句if语句是C++中最简单的判断语句。if(S) // 语句1// 语句2如果S为真(非零),则执行语句1,否则执行语句2。如果语句1就是单个语句,则可以这么写:if(S) 语句1; // 这里的分号不能少或者这么写:if(S){ 语句1;}如果语句1是个复合语句,则应该这么写:if(S){ 语句1;...原创 2019-03-14 00:11:12 · 6183 阅读 · 0 评论 -
C++中的一维数组
今天我们来学习C++中的一维数组。什么是一维数组在内存中连续存储各个元素,且可用一个下标遍历所有元素的数据类型,就是一维数组。一维数组的定义一维数组是这么定义的:数据类型 数组名[常量表达式]举个栗子:int a[7]; // 定义了一个数组名为a的数组,数组共有7个元素,每个元素的数据类型是intchar c[3]; // 定义了一个数组名为c的数组,数组共有3个元素,每个元素...原创 2019-03-19 22:26:21 · 2879 阅读 · 0 评论 -
1分钟读懂C++的switch语句
在英语里,switch就是“开关”的意思,开灯关灯那个开关,所以switch语句也称为开关语句。switch语句是一种多分支选择控制语句,功能和if-else-if语句差不多。标准样子来看看一个标准的switch语句的样子:switch(表达式){ case 值1: 语句1; break; case 值2: 语句2; ...原创 2019-03-15 21:32:45 · 2037 阅读 · 0 评论 -
1分钟理解C++的语句
程序是语句的集合,C++程序也不例外。C++程序中常用的语句包括:变量声明语句、变量定义语句、表达式语句、复合语句和空语句等。接下来,分别介绍一下。变量声明语句顾名思义,就是声明变量的语句。例如:int x, y;char c;变量定义语句顾名思义,就是定义变量的语句。例如:x=1;y=2;c='a';表达式语句包括赋值语句、函数调...原创 2019-03-12 00:28:54 · 565 阅读 · 0 评论 -
2分钟理解C++的条件表达式
今天我们来学习下C++中的条件运算符和条件表达式。说个明白条件运算符?:是C++中唯一的三目运算符,由其构成的表达式称为条件表达式,它是这样的:s1?s2:s3它的意思就是,如果s1为真(非零),则表达式的结果为s2,否则为s3。对应的if else语句是这样的:if(s1!=0){ 取s2}else{ 取s3}举个例子double a=1.0;doubl...原创 2019-03-12 23:00:36 · 1914 阅读 · 0 评论 -
一文读懂C++循环语句 for / while / do-while
while语句while语句是一种前判断循环语句,就是先判断再循环的意思,它长这样:while(表达式){ 循环体语句;}它的意思是:先判断表达式是否为真(非零),如果为真,则执行循环体语句,否则执行while语句的后继语句。举个栗子int a=1, sum=0;while(a<=10){ sum=sum+a; ++a;}经过循环,sum的值为...原创 2019-03-17 23:32:05 · 440 阅读 · 0 评论 -
Cmake和VS2015编译OpenMVG
OpenMVG的github页github关于编译的说明根据以上的“说明”,用VCPKG安装其他第三方库,然后用git下载openMVG(而非直接从github下载)。--Cmake--编译遇到的问题 提示找不到QT5相关的文件 原因:找QT5相关文件时,找到了cygwin文件下(之前系统装过cygwin,但没有装所有模块) 解决办法:安装QT5,然后...原创 2018-11-03 11:14:04 · 1364 阅读 · 0 评论 -
内存操作函数
void*#include原创 2018-05-25 23:30:03 · 229 阅读 · 0 评论 -
C++中的break、continue和goto语句的作用和区别
breakbreak的作用是结束当前循环,或者跳出switch语句。int i = 1;while (i > 0) { printf("%d\n", i); if (i==3){ break; } ++i;}输出123因为break是在while循环体中的,所以程序遇到break后,直接跳出while循环。co...原创 2019-03-18 23:06:42 · 650 阅读 · 0 评论