博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vs2010 c++ 学习笔记
阅读量:4223 次
发布时间:2019-05-26

本文共 1128 字,大约阅读时间需要 3 分钟。

对于学习c++中出现的小问题做一些汇总记录,以便忘记,方便回顾查询:

1、error C2360: “pDL_LineData”的初始化操作由“case”标签跳过问题:

switch(type){case 0: int i = 0; i++;break;case 1:
int j = 0; j++;break;}
对于这种写法会报c2360错误,网上查到的原因是:这个case语句可能没有被执行到(执行其他case了)导致变量没有初始化而导致接下来的错误,所以需要把变量放到switch前面声明初始化。

解决办法:

1)将case内的代码使用{}括起来:

switch(type){case 0:
{ int i = 0; i++;
}break;case 1:
{
int j = 0; j++;
}break;}

注:break可以在{}内外都可

2)将int i,和int j的定义提到switch()前边:

3)还一种观点是,定义是可以,但是是不能初始化,或准确点说是定义的同时不能初始化,case中的定义和初始化分开即可,如int i; i=0;以测试也是可以解决;

总结:上边三种方法都能解决,但具体什么还没有弄明白,有待确定,对于上边三种解决方法不知道会带来什么其他问题,未知。但是编译,运行正常。或许多虑!

2、对于new和delete功能:

1)new和delete是c++关键字

2)new在c++中用来内存分配,运行期内分配的位置在堆空间,鼓励new分配的空间delete释放,对于小程序可以不释放,由进程或程序结束时操作系统自动回收,但是并非是个好习惯,尽量做到二者成对出现使用,否则可能造成内存泄漏,有程序崩溃的潜在危险;

3)delete释放指针指向的内存,并非指针本事占有的内存,而delete后该指针还是指向原来被释放的内存区域,如果再次delete,由于已经释放,就会发生空间访问异常问题,所以最好养成delete后指针赋值为NULL的习惯。对这种情况,C++标准规定:delete空指针是合法的,没有副作用。

3、std::fixed

在文件流输出到text文件时,double类型会转变为字符型,当为非常小的小数时,往往会输出为科学计数方法的数据,有时是不希望的,通过std::fixed可以固定为非科学计数方法,同时可以通过file.precision()设置小数精度。

double num = 0.0000000000001;

file.precision(6);

file<<std::fixed<<num;

4、atan2(y,x)

反正切,参数顺序和习惯不太一样,返回值为弧度,范围为【-pi,+pi】。

转载地址:http://udemi.baihongyu.com/

你可能感兴趣的文章
Java中如何遍历Map对象的4种方法
查看>>
图片延时加载例子详解
查看>>
js获取url参数值的两种方式详解
查看>>
java中System.getProperty()方法详解
查看>>
MyEclipse设置默认注释的格式
查看>>
同一服务器部署多个tomcat时的端口号修改详情
查看>>
常用正则表达式集锦
查看>>
Spring定时器的时间表达式
查看>>
fastdfs简介
查看>>
主键和唯一索引的区别
查看>>
linux下使用yum安装gcc详解
查看>>
aclocal安装依赖的库
查看>>
String和常量池值的变化
查看>>
FastDFS 安装及使用详解
查看>>
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)解决方案
查看>>
Host 'XXX' is not allowed to connect to this MySQL server解决方案
查看>>
corosync pacemaker 配置高可用集群(一)
查看>>
5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO
查看>>
nginx(一) nginx详解
查看>>
nginx(二) nginx编译安装 及 配置WEB服务
查看>>