C++
叶黑子
Be the change you want to see in the word
展开
-
vs断点不生效原因和处理方案
一般原因:代码对应的符号不对应1、重新编译2、关闭设置端点的文件,重新打开3、重启vs4、查看对应符号设置确认你使用的是debug还是release,确保符号是正确的原创 2020-06-10 14:11:33 · 5806 阅读 · 0 评论 -
Visual Studio 的远程调试
实现功能:虚拟机直接运行主机程序chrome.exe,主机可直接调试虚拟机运行的程序chrome.exe原创 2020-06-10 11:09:49 · 440 阅读 · 0 评论 -
单例模式的写法和应用
众多设计模式中,单例模式比较常见的一种,面试和工作中也会经常接触到。本文以一个C++开发者的角度来探讨单例模式几种典型实现。设计模式经典GoF定义的单例模式需要满足以下两个条件:1. 保证一个类只创建一个实例。2. 提供对该实例的全局访问点。如果系统有类似的实体(有且只有一个,且需要全局访问),那么就可以将其实现为一个单例。实际工作中常见的应用举例日志类,一个应用往往只转载 2016-04-08 14:57:39 · 581 阅读 · 0 评论 -
C++中new 一个对象的时候加括号和不加括号的区别
先把结论放上来: 加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数,看需求 C++在new时的初始化的规律可能为:对于有构造函数的类,不论有没有括号,都用构造函数进行初始化;如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化,而加了括号的new会在分配内存的同时初始化为0。 以下代码:#include转载 2016-04-08 14:32:42 · 15394 阅读 · 6 评论 -
sockaddr与sockaddr_in结构体简介
struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */};sa_family是地址家族,一般都是“AF_xxx”的形式。好像通常大多用的是都是AF转载 2016-03-15 10:07:13 · 406 阅读 · 0 评论 -
select的基本学习
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2016-03-09 10:07:43 · 386 阅读 · 0 评论 -
信号量的PV操作
进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量。其中信号量起到了至关重要的作用。 信号量信号量是最早出现的用来解决进程同步与互斥问题的机制。 信号量(Saphore)由一个值和一个指针组成,指针指向等待该信号量的进程。信号量的值表示转载 2015-04-15 15:22:24 · 729 阅读 · 0 评论 -
类在内存中的分配问题
一个类,有成员变量:静态与非静态之分;而成员函数有三种:静态的、非静态的、虚的。那么这些个东西在内存中到底是如何分配的呢?以一个例子来说明:[cpp] view plaincopy"font-size:16px;"> class CObject{public:static int a;CObject();转载 2015-03-17 16:25:00 · 430 阅读 · 0 评论 -
struct和typedef struct
1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是struct Stud转载 2015-03-17 15:49:18 · 374 阅读 · 0 评论 -
c++中new和delete的使用方法
new和delete运算符用于动态分配和撤销内存的运算符new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a = new int(转载 2015-03-17 10:46:17 · 407 阅读 · 0 评论 -
关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。一、Const作用 如下表所示:No.作用说明参考代码转载 2015-03-16 13:46:45 · 337 阅读 · 0 评论 -
在C++中子类继承和调用父类的构造函数方法
在C++中子类继承和调用父类的构造函数方法 构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。 如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明转载 2014-11-07 10:34:02 · 473 阅读 · 0 评论 -
类与类之间的几种关系
类与类之间的几种关系一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。 二、实现关系 实现指的是一个class类实现转载 2014-10-20 16:28:42 · 443 阅读 · 0 评论 -
多态的概念和作用
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物,与不同的具体事物进行对话。对不同类的对象发出相同的消息将会有不同的行为。比如,你的老板让所有员工在九点钟开始工作,他只要在九点钟的时候说:“开始工作”即可,而不需要对销售人转载 2014-10-20 13:54:24 · 724 阅读 · 0 评论 -
const的用法
Const 作用1. const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令2. 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性;3. 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。4. 可以节省空间,避免不必要转载 2014-11-03 09:20:18 · 629 阅读 · 0 评论 -
实实在在说多态(C++篇)
实实在在说多态(C++篇)1. 什么是多态2. 多态带来的好处3. C++中实现多态的方式4. 细说用函数重载实现的多态5. 细说用模板函数实现的多态6. 小结7. 细说用虚函数实现的多态7.1. 虚函数是怎么回事7.2. 向上转型7.3. 为什么要用指转载 2014-10-31 15:51:24 · 430 阅读 · 0 评论 -
C++编程学习50个经典网站 强力推荐
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段2、http://转载 2014-10-15 13:37:37 · 665 阅读 · 0 评论 -
static在C++中的应用
1 案例描述22 Static语法特性简介22.1修饰变量22.1.1静态全局变量22.1.2静态局部变量22.1.3静态数据成员22.2修饰函数22.2.1静态函数22.2.2静态成员函数33 应用场合33.1将变量/函数的作用域限定在本源文件中33.2保存函数的运行时信息33.3保存类对象共有的原创 2014-10-23 19:46:04 · 634 阅读 · 0 评论