C++
吃不尽的lemon
——What's the secret to good comedy?
——Timing.
——And what's courage?
——Grace under pressure.
——Who's the boss?
——I'm the boss.
展开
-
C++ 空类
C++中空类占位问题文章目录1、空类,声明时编译器不会生成任何成员函数2、空类,定义时会生成6个成员函数在C++中空类会占一个字节,这是为了让对象的实例能够相互区别。具体来说,空类同样可以被实例化,并且每个实例在内存中都有独一无二的地址,因此,编译器会给空类隐含加上一个字节,这样空类实例化之后就会拥有独一无二的内存地址。如果没有这一个字节的占位,那么空类就无所谓实例化了,因为实例化的过程就是在...原创 2020-05-17 19:54:46 · 547 阅读 · 0 评论 -
最好的C++教程 17.reference in C++
文章目录引用的概念小栗子:其他的参考博客引用的概念引用顾名思义就是引用现有变量的一种方式引用并没有创建新的变量,也没有实际的存储空间,引用的引用本质上是一样的 但它们有一些细微的差别 最终引用只是指针的语法糖 使指针更易读int& a;注意& 要么代表引用,要么代表取地址,具体取决于语境,用在类型旁边的是引用。小栗子:int main() { int a = 5; int& ref = a; cout <<ref; re原创 2020-05-15 21:57:50 · 437 阅读 · 0 评论 -
C++ extern
转载防丢失转载 2020-05-15 21:21:23 · 130 阅读 · 0 评论 -
C++ 设计模式之 单例模式
文章目录reference:概述1.示例2. 懒汉与饿汉特点与选择:3 线程安全的懒汉实现3.1 加锁3.2 内部静态变量的懒汉实现4 饿汉实现总结:reference:12概述因为在设计或开发中,肯定会有这么一种情况,一个类只能有一个对象被创建,如果有多个对象的话,可能会导致状态的混乱和不一致。这种情况下,单例模式是最 恰当的解决办法。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键原创 2020-05-14 20:47:19 · 317 阅读 · 0 评论 -
C++ 多态虚函数相关问题
转载方便自己查看https://www.cnblogs.com/qiaoconglovelife/p/5128523.html转载 2020-05-14 20:17:44 · 131 阅读 · 0 评论 -
C++ 区别数组名和指针
文章目录引入:区别1:区别2:区别3:so 数组名实质是什么? (数据结构)数组名的退化(作为形参时)sizeof需要注意理解的地方reference引入:有如下程序,猜下结果#include<iostream>using namespace std;int main(){ int a[10]; char *s=new char(100*sizeof(char)); cout<<sizeof(s)<<endl; cout<&l原创 2020-05-12 18:24:15 · 390 阅读 · 0 评论 -
最好的C++教程 16. pointer in C++
文章目录1.指针概念(C++ primer)1.1.通俗理解1.2 定义一个空指针1.3 解引用 (*p)1.4 附加:堆和栈的概念1.5 二级指针1.指针概念(C++ primer)1.1.通俗理解将内存比作一座座房子,数据存在房子里,为了访问数据,我们需要知道房子的地址,这就是指针。指针只是一个地址,它是一个整数,表示内存地址。1.2 定义一个空指针(C++11新引入的)调试查看:由于类型不同我们需要强制类型转换,但是我们可以看到结果是一样的,类型不会对内存地址产生原创 2020-05-11 11:35:39 · 367 阅读 · 0 评论 -
C++ 浮点数保留有效数字
保留6位有效数字#include<iostream>#include<iomanip> //对应setprecison#include<vector>#include<math.h> //对应floorusing namespace std;int main(){double a=3.12312313;cout<<se...原创 2020-05-01 21:14:20 · 2634 阅读 · 0 评论 -
C/C++ 中 typedef struct 和struct的区别
struct和typedef struct彻底明白了typedef struct OLNode{ int i,j; int data; OLNode *right,*down;}OLNode,OLink;//结构的对象OLNode, 指向结构的指针OLink,可以这样写struct OLNode{};OLNode OLNode, *OLink;分三块来讲述: 1 首先...转载 2020-04-24 22:08:43 · 776 阅读 · 0 评论 -
C++11 auto
https://www.cnblogs.com/KunLunSu/p/7861330.html转载 2020-04-23 12:19:20 · 152 阅读 · 0 评论 -
cyc2018剑指offer刷题-3.数组重复数字问题
文章目录附:[java常见STL](https://blog.csdn.net/qq_42794545/article/details/88250939)3. 数组中重复的数字题目描述双重循环比较就太粗糙了时间复杂度O(n2),不做讨论extend:C++保险判别空指针1.初始菜鸟思路基于排序2.空间换时间3.利用题目独有的特性附:java常见STL3. 数组中重复的数字题目描述在一个长度...原创 2020-04-22 16:55:47 · 459 阅读 · 0 评论 -
7.How to debug C++ in VS
文章目录breakpoint (断点)引言:实际上debug在各IDE中大同小异,以VS为例,学习debug技巧breakpoint (断点)我们可以在任意一行设置断点,程序执行到该行就会进入悬停状态设置断点:F9...原创 2020-04-21 11:16:07 · 219 阅读 · 0 评论 -
6.C++ header file
Header file1.why we need header file当我们在一个cpp中定义了一个函数想在另一个文件中使用这个函数时,编译该文件,c++编译器不会知道该函数的存在,我们需要一个公用的地方来存放声明,注意是声明而非定义,我们只能定义函数1次,声明就是告诉编译器该函数的存在。当我们需要声明多个函数时,将声明挨个复制粘贴显然不是一个好方法。通过#include 预处理语句来实...原创 2020-04-14 15:31:27 · 1831 阅读 · 0 评论 -
5.functions in C++
Functions菜鸟教程1.为什么要用函数一个较为复杂的系统往往需要划分为若干个子系统,然后对这些子系统分别进行开发和调试。c++语言中的子程序体系为函数。函数编写后,可以被重复使用,使用时可以只关心函数的功能和使用方法而不必关心函数功能的具体实现。这样有利于代码重用,可以提高开发效率,增强程序的可靠性,也便于分工合作和修改维护。简单来说如果代码中有一部分需要重复使用时,我们可以把它定义...原创 2020-04-14 12:44:23 · 131 阅读 · 0 评论 -
4.variable in C++
C++ 变量类型不同编译器或cpu下占位可能不同int 占 4byteunsigned 无符号数,作用为存储的数据范围大unsigned char是无符号字节型,char类型变量的大小通常为1个字节(1字节=8个位),且属于整型。整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型...原创 2020-04-14 12:05:10 · 301 阅读 · 0 评论 -
最好的C++教程-3.how the c++ linker works
linkerobj->2进制主要工作找到每个符号和函数的位置把他们链接到一起,linker主要是针对多文件编译为一个程序的。main函数每个程序必须有main函数,而且只能有一个。main函数是程序的入口,main函数也可以含有参数一般编译器默认使用argc和argv两个名称作为main函数的参数,但这两个参数如此命名并不是必须的,你可以使用任何符合C++语言命名规范的变量名,...原创 2020-04-14 11:40:59 · 211 阅读 · 0 评论 -
最好的C++教程 —2.how c++ complier works
文章目录C++编译器的工作原理1.预处理2.tokenizing and parsing阶段(具体参考编译原理)3.本质特性头文件的工作例子#define 的工作(宏定义:替换)#if的工作.obj文件里是什么C++编译器的工作原理window下编译器只负责将源文件转换为中继格式obj1.预处理所有的preprocessor语句将会在这个阶段进行评估2.tokenizing and pa...原创 2020-04-04 23:59:15 · 475 阅读 · 0 评论 -
b站-最好的c++教程-学习笔记-1.how C++ works
文章目录说明小知识点:X86和win32区别vs自动对齐C++的编译过程1.预处理器(preprocessor)1.1 #include <iostream>注意:所有的cpp文件会被一个一个单独编译而头文件不会,它们编译发生在预编译阶段复制到cpp文件中进行编译1.2 生成.obj2.linker3.多文件编译说明笔记根据b站上佐夫发布的外国小哥的C++教程,解释比较浅显,为了详...原创 2020-04-04 21:55:02 · 1471 阅读 · 0 评论 -
C++ 从小到大排序去重复问题
1.要求:输入一个数n<=1000再输入n个数输出这n个数从小到大无重复处理后的结果允许多个测试案例2.本人简单粗暴式#include<iostream>using namespace std;int main(){ int n,count=0; int a[100]; int i,j,t; while(...原创 2019-07-18 21:20:10 · 1967 阅读 · 1 评论 -
C++ vector
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.用法:1.文件包含:首先在程序开头处加上#include<vector>以包含所需要的类文件vector还有一定要...转载 2019-07-25 16:11:15 · 357 阅读 · 0 评论 -
C++ 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
//这是一个取巧的办法 输入时接受16进制输出10进制//对于oj测试案例来讲这种办法完全可以通过测试//但从题目要求来看,无疑本题想考察字符串和int型之间的转换#include <iostream>using namespace std;int main(){ int a; while(cin>>hex>>a){ ...原创 2019-07-23 12:07:22 · 1416 阅读 · 0 评论 -
C++ 对输入的n个字符串进行按字典顺序排序(不区分大小写)
#include<iostream>#include<cstring>#include<algorithm>using namespace std;int is_paixu(char *a,char *b){//循环比较各位大小 int i; char th,ch; for (i=0;i<min(strlen(a),strlen(b));...原创 2019-07-23 12:10:08 · 5120 阅读 · 0 评论 -
经典背包问题
一、背包问题的描述背包问题可以有多种形式,下面将对其逐一进行描述:(1)经典的0-1背包问题(无物品的价值):假设有一个能装入容量为C的背包和n件重量分别为w1,w2,,...,wn的物品,能否从n件物品中挑选若干件恰好装满背包,要求找出所有满足上述条件的解。当C=10,各件物品重量为{1,8,4,3,5,2}时,可以找到下列4组解:(1,4,3,2)、(1,4,5)、(8,...转载 2019-07-23 15:24:56 · 5060 阅读 · 0 评论 -
C++关于字符串与整数之间运算问题(itoa,atoi)笔记
1.设计一个itoa函数,将整数n变成字符串数组存储并打印出来#include <iostream>using namespace std; void itoa(int n,char* res){ int flag=1; int i=0,j=0; char buf[100]=""; if(n<0) res[i++]='-';//如果是负数,第一位就是...原创 2019-03-23 15:43:36 · 673 阅读 · 0 评论