![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++ primer
苏大强太强了
心怀梦想,砥砺前行。
展开
-
c++学习笔记
c++学习笔记关于异常处理,Java的异常处理没有int,double等等类型,它给出的类型都是封装好的,而c++比较灵活,你完全可以抛出一个自定义类型的异常。 java: try { int aException=1; throw aException; } catch (Exception a) { // TODO: handle exception ...原创 2019-11-09 12:51:26 · 87 阅读 · 0 评论 -
显式类型转换和隐式类型转换区别?
一般情况下,数据的类型的转换通常是由编译系统自动进行的,不需要人工干预,所以被称为隐式类型转换。但如果程序要求一定要将某一类型的数据转换为另外一种类型,则可以利用强制类型转换运算符进行转换,这种强制转换过程称为显式转换。显示类型转换格式为:(强制的类型名)表达式用于强行将“表达式”的值转换成“类型名”所表示的数据类型。例如,(int)4.2的结果是4;强制类型转换的目的是使表达式的值的数据类...转载 2019-11-08 21:59:53 · 2053 阅读 · 0 评论 -
C语言中内联函数的作用
C语言中内联函数到底有什么作用?试想一下,每当我们在假设就在主函数中调用另外一个函数的时候,那么这个函数就要入栈或者出栈,比如说下面的一个例子:void myprint(){ printf("%d", 3);}Void main(){ int i; for(i = 0; i < 100; i++) myprint();}在主函数中调用myprin()函数打印3这个数字...转载 2019-11-08 10:16:28 · 394 阅读 · 0 评论 -
c++primer第二章精华
c++primer第二章c++中初始化和赋值的概念不同,初始化是创建的时候赋值。c++11新增列表初始化,但是赋值类型如果存在丢失信息的风险会报错:#include<bits/stdc++.h>using namespace std;int main() { int test{ 0 }; //正确 int test3 = 3.1415; //正确 int test2...原创 2019-11-07 21:22:00 · 249 阅读 · 0 评论 -
strcat_s 和 strcat 的区别
vs独特的特性,stract_s,strcpy_s,是VS2005及以后新增的具有更强"安全性"的CRT函数,取代了以前不带s的函数。以strcat为例,前后的比较:strcat:两个参数,第二个参数的字符串追加到后面可能会导致溢出。strcat_s:可以三个参数,strcat_s(s1,10,s2);也可以两个参数。...原创 2019-11-07 16:54:01 · 2976 阅读 · 1 评论 -
c++中的decltype()的用法
decltype()是个好东西,比如说你不知道现在某个变量是什么类型,这个函数可以检测类型,具有实战意义。如:新声明的b跟a的类型一致。原创 2019-11-07 15:37:46 · 1082 阅读 · 0 评论 -
c++中#if/#ifdef/#ifndef/#endif的使用
曾经接触过这个但没有深入,最近又见到了。翻过了很多博客,结合书上看到的,总结来说主要有两个作用。第一个,方便程序开发人员调试(debug),对于一个大程序来说,debug的痕迹到处都是我们又不能让客户看到,可以采用如下方式:#ifdef DEBUGcout << “测试成功” << endl;#endif如果你的程序#define了DEBUG,那么他就会显示...原创 2019-11-07 15:31:29 · 908 阅读 · 0 评论 -
C++对于底层和顶层const的理解
const对于不涉及指针的常量来说,没什么区别,限定一个常量不会被修改。 在涉及指针的时候,和const位置的不同表达的含义就有所不同,其含义也就有所差别,看如下程序:#include<bits/stdc++.h>using namespace std;int main() { in...原创 2019-11-07 14:46:03 · 116 阅读 · 0 评论 -
error LNK2005: "int a" (?a@@3HA) 已经在 now.obj 中定义 1>D:\vs\test\Debug\test.exe : fatal error LNK1169:
这个是我用vs模拟两个cpp文件公用一个全局变量时报的错误,我发现如果要共用两个文件可以直接在另一个cpp文件中用static声明,那么在另一个文件中,加上#include "搞.cpp"类似这个,就可以用。也可以在一个文件中定义,自己写一个头文件加上extern int a;(扩展作用域),然后现在的文件加上#include “标头.h”(对应的头...原创 2019-11-07 09:44:24 · 530 阅读 · 0 评论 -
《c++ primer》笔记第一章
《c++ primer》笔记第一章关于命名空间,我们经常在头文件下加上using namespace std,这个意思是使用标准命名空间,一些常用的函数都在里面(cout,cin等等),我们也可以自己定义命名空间,如图所示,是常用的快读程序:#include<bits/stdc++.h>using namespace std;namespace FIFO { inlin...原创 2019-11-06 21:21:19 · 82 阅读 · 0 评论