C/C++
文章平均质量分 76
冰萧
一个人只拥有此生此世是不够的,他还应该拥有一个诗意的世界。Choose what we love and love it!
展开
-
clion 常用快捷键
clion常用快捷键备忘。1. 查找CTRL+N 查找类 CTRL+SHIFT+N 查找文件 CTRL+SHIFT+ALT+N 查找类中的方法或变量 CIRL+B 找变量的来源 CTRL+ALT+B 找所有的子类 CTRL+SHIFT+B 找变量的 类 CTRL+G 定位行 CTRL+F 在当前窗口查找文本 CTRL+SHIFT+F 在指定窗口查找文本 CTRL+R 在当前窗口替换文本 CTRL+SH原创 2021-05-19 11:26:09 · 1175 阅读 · 0 评论 -
Objective-C 私有方法
一、关于Objective-C私有方法:下面是网上一博主的部分内容:在面向对象的开发中,一个很重要的原则就是不要暴露不需要暴露的东西。 在Objective-C中,在头文件中你只能声明类方法和实例方法,这意味着你所有的方法都要暴露在外边。其实在Objective-原创 2011-10-10 21:47:51 · 8049 阅读 · 2 评论 -
C++中虚析构函数的作用
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~转载 2011-10-02 17:19:47 · 705 阅读 · 0 评论 -
C/C++板块常见问题集
1:试图用cout输出全局类的析构.(可能是VC6的问题,如果你的编译器没出现问题,很好,别喷我) 引用自whillcoxdennis提问: http://topic.csdn.net/u/20090302/14/ca44881f-9664-4be8-9687-1dd0转载 2011-10-08 14:28:42 · 851 阅读 · 0 评论 -
关于sizeof
网上看了很多,也分析了很多,这里总结一下:1. char str[10] = "qwertyuiop";sizeof(str) 值为 10,原因str是数组类型,其类型是char (*)[10],故对其+1或-1都是以10个元素(当前数组定义数据元素为char类型,故单原创 2011-10-09 22:01:31 · 917 阅读 · 0 评论 -
OO原则
单一职责原则(SRP) 就一个类而言,应该仅有一个引起它变化的原因。开放-封闭原则(OCP) 软件实体应该是可以扩展的,但是不可修改。Liskov替换原则(LSP) 子类型必须能够替换掉它们的基类型。依赖倒置原则(DIP) 抽象不应该依赖于细节。细节应该依赖于抽象转载 2011-10-10 10:46:11 · 972 阅读 · 0 评论 -
为何要把类的构造函数定义为private
通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?没错,我也知道这将会使构造函数成为私有的,这意味着什么? 我们知道,当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也转载 2011-10-10 21:56:49 · 5117 阅读 · 0 评论 -
C++中的多态和Objective-C中的“多态”
C++中的多态(两种):编译时匹配:函数重载,依据成员函数的名字、形参类型、形参个数等不同来实现不同的函数调用匹配;运行时匹配:虚函数,具体就是通过将父类或抽象类声明时成员函数声明为virtual,然后子类继承并实现,应用时,通过将子类对象地址赋给其父类类型的指针(注,抽象类不能实例化,即不能定义对象,但是可以定义指向该类类型的指针和引用),通过调用赋值后的父类指针指向的虚函数来达到调用不原创 2011-10-09 21:23:59 · 2701 阅读 · 8 评论 -
ASCII码表(常用)
原创 2013-07-30 16:26:24 · 1432 阅读 · 0 评论 -
C 打印格式小记
转自:http://blog.csdn.net/fivedoumi/article/details/7077504d,lx,ld,,lu,这几个都是输出32位的hd,hx,hu,这几个都是输出16位数据的,hhd,hhx,hhu,这几个都是输出8位的,lld,ll,llu,llx,这几个都是输出64位的,printf( "%llu ",.....)%llu转载 2013-07-30 16:30:01 · 5369 阅读 · 0 评论 -
位运算的应用和实例
位运算应用口诀清零取数要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负转载 2011-09-27 11:07:10 · 623 阅读 · 0 评论 -
百度笔试题:malloc/free与new/delete的区别
相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行转载 2011-09-27 11:08:22 · 1078 阅读 · 0 评论 -
C语言中auto,register,static,const,volatile的区别
1)auto 这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 (2)register 这个关键字命令编译器尽可能的转载 2011-09-26 13:07:32 · 886 阅读 · 0 评论 -
内存字节对齐
写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧. /******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个转载 2011-09-26 14:15:55 · 670 阅读 · 0 评论 -
头文件不宜定义变量原因解析
test-1.0使用#ifndef只是防止了头文件被重复包含(其实本例中只有一个头件,不会存在重复包含的问题),但是无法防止变量被重复定义。view plain# vi test.c -----------------------转载 2011-09-26 12:46:33 · 770 阅读 · 0 评论 -
C++虚函数表解析[重量级]
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2011-09-26 15:27:15 · 571 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) —转载 2011-09-26 11:29:47 · 582 阅读 · 0 评论 -
char str[] 和 char *str 的区别
view plainchar* get_str(void) { char str[] = {"abcd"}; return str; } char str[] = {"abcd"};定义了一个局部转载 2011-09-26 11:33:39 · 633 阅读 · 0 评论 -
一个简单的聊天程序--命名管道FIFO
本程序是一个使用FIFO进行进程间通信的典型程序lucy.c创建了FIFO write──fifo用于向程序peter.c发送信息:程序创建了FIFO read-fifo,用于向lucy.c发送消息。编译本程序,先运行peter.c再运行lucy.c就可以了。源程序如下:转载 2011-09-27 10:45:37 · 3906 阅读 · 0 评论 -
不用比较运算符及循环控制语句,判断int型的a、b两数的大小
看到这个题目的时候,我当时想到的,就是首先进行a-b,然后判断最高的符号位是1还是0。。我想大家也都会想到这一点:view plainint max(int a, int b) { int max[2] = { a, b }转载 2011-09-27 11:06:46 · 1073 阅读 · 0 评论 -
c++模板类学习
1、模板的概念我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.转载 2011-09-27 11:07:38 · 795 阅读 · 0 评论 -
操作符重载(小原则)
一.运算符重载的含义与定义方式l C++已有的运算符只适合处理C++的基本数据类型。l C++允许重新定义已有的运算符(运算符重载),以便它能处理程序员定义类型(类类型)。l 运算符重载就是赋予已有的运算符多重含义。运算转载 2011-09-26 15:57:13 · 686 阅读 · 0 评论