C/C++编程基础
文章平均质量分 66
菜鸟潇寒
我是菜鸟我怕谁
展开
-
菜鸟潇寒学习C++笔记------第三部分
36.运算符重载A -> 返回内部某个结构变量的地址,编译器通过这个地址执行正正的->操作范文里面的变量。B new/delete 重载负责内存分配和释放,编译器会在内存分配后调用构造函数,内存释放之前调用析构函数。有[]与没有[]是不同的运算符。C ++/-- 前++前--,正常的单目运算用法,因为计算的结果就是对象的最新值,因此可以直接那这个对象作为计算结果原创 2014-01-03 09:51:16 · 976 阅读 · 0 评论 -
如何计算一个整数转成2进制的1或者0 的个数
#includeusing namespace std;int main(){ int a; while(cin>>a){ int count=0; while(a){ a&=a-1;//判断二进制有多少个1 //a|=a-1;//判断二进制有多少个0 count++;原创 2016-07-05 09:27:19 · 614 阅读 · 0 评论 -
标准C++中的string类的用法总结
要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,原创 2016-06-21 16:39:40 · 456 阅读 · 0 评论 -
标准输入输出
首先,这两个函数不是C标准库中的函数,int getch(void) //从标准输入读入一个字符,当你用键盘输入的时候,屏幕不显示你所输入的字符。也就是,不带回显。int getche(void) //从标准输入读入一个字符,键盘输入的时候,屏幕显示所输入的字符。带回显。这两个函数包含在头文件conio.h中,需要记住的是conio.h不是C标准库中的头文件。M原创 2016-06-21 17:01:52 · 1596 阅读 · 0 评论 -
C++面试之__C++4种转换类型
1.C++中有哪4个和类型转换相关的关键字?这些关键字都有什么特点?应该在哪些场合下使用. C语言中的强制类型转换可以随意的转换我们想要的类型了,格式如下(类型) 变量名; 为什么c++还要引入新的4种类型转换呢? 这是因为新的类型转换控制符可以很好的控制类型转换的过程,允许控制各种类型不同的转换. 还有一点好处是C++的类型转换控制符能告诉程序员或读者原创 2016-08-09 11:46:47 · 1039 阅读 · 0 评论 -
C++面试之__C++静态成员函数小结
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时原创 2016-08-09 14:52:18 · 501 阅读 · 0 评论 -
STL之Map
概述Map是标准关联式容器(associative container)之一,一个map是一个键值对序列,即(key ,value)对。它提供基于key的快速检索能力,在一个map中key值是唯一的。map提供双向迭代器,即有从前往后的(iterator),也有从后往前的(reverse_iterator)。map要求能对key进行,因此map上的迭代器也是递增有序的。如果对于元素并不需要转载 2016-05-10 21:51:53 · 449 阅读 · 0 评论 -
菜鸟潇寒学习库----动态库
动态库在编译连接时候只记录要用的名字在哪个库文件中,运行的时候才从库文件中找这个名字(函数或者变量)并访问它。2)动态库(共享库)libxxx.so (1)产生库写C语言程序(一般不应该有main函数) xxx.cgcc -c -fpic xxx.c;gcc -shared -o libxxx.so xxx.o产生静态库 (2)使用库A编译时: 编写C程序usexxx.原创 2014-01-09 20:56:32 · 526 阅读 · 0 评论 -
菜鸟潇寒学习库----静态库
库library静态库: 在编译连接时把库里的代码提取出来放入到可执行文件中,程序执行的时候不在依赖库。动态库: 在编译连接时候只记录要用的名字在哪个库文件中,运行的时候才从库文件中找这个名字(函数或者变量)并访问它。CPATH,C_INCLUDE_PATH 这连个环境变量都可以指定gcc编译的时候收索头文件的目录。类似-I选项。1)静态库(归档)libxxx.a (1)产原创 2014-01-03 22:02:00 · 672 阅读 · 0 评论 -
C++运算符重载简单学习-----菜鸟潇寒
最近在学习C++的时候突然发现有一个很好玩的东西,就是运算符的重载。运算符重载是对已有的运算符赋予更多的含义,使同一个运算符会有意想不到好处与方便。下面我们就简单地介绍运算符的重载。1.首先在C++中,运算符都被当成函数,C++允许程序自己来规定预算符如何工作,方法就是自己定义相应的运算符函数,比如operator&,operator+,operator2.运算符重载主要有原创 2013-12-27 16:12:57 · 1383 阅读 · 0 评论 -
菜鸟潇寒学习C++笔记------第二部分
19.初始化列表在构造函数定义里紧跟参数之后可以有一个初始化列表,用冒号开头,后面有若干对"成员变量(初始化)",多对之间用逗号分开。初始化列表是初始化常量成员和引用成员的不二法门。20.静态成员初始化不应该在构造函数里面。静态成员:属于整个类的数据或者行为。静态成员变量:所有这个类的对象公用一份,在类外面初始化,访问不需要对象,初始化时要在变量明前面用"类名::"原创 2013-12-26 17:55:31 · 1829 阅读 · 0 评论 -
多线程面试题
多线程在笔试面试中经常出现,下面列出一些公司的多线程笔试面试题。首先是一些概念性的问答题,这些是多线程的基础知识,经常出现在面试中的第一轮面试(我参加2011年腾讯研究院实习生招聘时就被问到了几个概念性题目)。然后是一些选择题,这些一般在笔试时出现,虽然不是太难,但如果在选择题上花费大多时间无疑会对后面的编程题造成影响,因此必须迅速的解决掉。最后是综合题即难一些的问答题或是编程题。这种题目当然是最转载 2016-06-13 20:42:57 · 624 阅读 · 0 评论 -
C/C++sort函数用法
sort函数的用法做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。 这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是转载 2014-08-13 13:19:31 · 858 阅读 · 0 评论 -
C/C++ 编程规范--头文件
一 :头文件•对于C语言来说,头文件的设计体现了大部分的系统设计。•不合理的头文件布局是编译时间过长的根因(编译依赖消耗编译器90%以上的时间),降低头文件的依赖是总体原则,不合理的头文件实际上是不合理的设计。•合理的头文件划分体现了系统设计的思想,但是从编程规范的角度看,仍然有一些通用的方法,用来合理规划头文件。本章节介绍的一些方法,对于合理规划头文件会有一定的帮助。原创 2017-01-12 21:40:52 · 965 阅读 · 0 评论 -
一个矩阵乘法代码
#includeusing namespace std;template T** malloc_Array2D(int row, int col){ int size = sizeof(T); int point_size = sizeof(T*); //先申请内存,其中point_size * row表示存放row个行指针 T **arr = (T **)malloc(po原创 2016-06-30 13:47:43 · 4003 阅读 · 0 评论 -
STL Iterator 迭代器
STL 迭代器学习总结相关概念知识原创 2016-05-21 16:07:52 · 1596 阅读 · 0 评论 -
C++内存管理
内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C++超绝的性能。本期专题将从内存管理、内存泄漏、内存回收这三个方面来探讨C++内存管理问题。转载 2016-06-02 08:14:43 · 511 阅读 · 0 评论 -
实现抽象类中的成员函数
抽象类通常用于其他类的父类,从抽象类派生的子类如果是抽象类,则子类必须实现父类中所有的纯虚函数。简单说明怎么样实现抽象类的成员函数#inceludeusing namespace std;class A{public:A(){}virtual output()=0;//纯虚函数};class B:public A{public:B(){}output原创 2014-01-03 09:47:22 · 1262 阅读 · 0 评论 -
菜鸟潇寒学习C++的笔记——第一部分
C++ 学习1.头文件 iostream。 扩展名:.cpp .C .cc .cxx都可以,推荐使用.cpp。 编译用g++,用法和Gcc一样。 输入输出 cin >>/cout >>。 名字空间 using namespace std。 包括C语言文件可以这样的写:stdio.h==》cstdio 。 注释和C语言一样。2.名字空间用法 定义:原创 2013-12-21 20:38:00 · 1665 阅读 · 0 评论 -
数星星--简单程序设计
Description:天空非常晴朗,外面很静很静,连小虫儿的鸣叫声都能听见。天渐渐变黑了,天空中出现了一颗颗星星,它们一闪一闪的好像在眨着眼睛,又好像在向我述说着什么似的。望着,望着,我就禁不住要数星星了,一颗,两颗,三颗,四颗,五颗……数着,数着,就分不清哪些数过了,哪些还没数过。你能帮忙数清天上有几颗星星吗?Input:有多组测试数据。每组开头有两个整数M,N(0Ou原创 2014-08-03 22:54:10 · 4215 阅读 · 0 评论 -
C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)1、cin 2、cin.get()3、cin.getline()4、getline()5、g转载 2014-08-04 17:52:52 · 732 阅读 · 0 评论 -
简单编码
Description:最近Kingly对编码很感兴趣,于是从网上找了一些编码原则来对字符串做实验。因为Kingly一直很忙,所以希望你这位编程高手来替他解决这个问题。 下面是编码原则: (1) 如果访问到字符A,W,F就转化成I; (2) 如果访问到字符C,M,S就分别转化成L,o,v; (3) 如果访问到字符D,P,G,B就转化成e; (4) 如果访问到字符L,X就分别转化成Y,u;原创 2014-08-04 23:32:55 · 2361 阅读 · 0 评论 -
看书笔记--C++
函数在定义的时候可原创 2014-08-03 23:58:22 · 456 阅读 · 0 评论 -
C++中各种排序简单介绍
想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~所以自己总结了一下,首先看sort函数见下表: 函数名功能描述sort对给定区间所有元素进行排序stable_sort对给定区间所有元素进行稳定排序partial_sort对给定区间所有元素部分排序转载 2014-08-13 12:46:29 · 480 阅读 · 0 评论 -
VC++自定义消息处理函数2
自定义消息处理函数步骤1.首先在View.h文件 定义消息函数===》》#define WM_MYMESSAGE WM_USER+1 //分配ID2.然后在View.h文件中自定义消息函数=====》》 afx_msg LRESULT OnMyMessage(WPARAM wParam,LPARAM lParam);3.在view.cpp添加自定义消息映射宏原创 2015-08-05 12:45:39 · 582 阅读 · 0 评论 -
C++ 标准库string类
标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;转载 2016-04-27 15:20:34 · 555 阅读 · 0 评论 -
C++ STL 一般总结
一、一般介绍 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架转载 2016-05-10 21:57:15 · 1669 阅读 · 0 评论 -
g++和gcc 的makefile 写法
(本文主要以gcc为演示,如果是C++程序直接将给 gcc改为g++即可)1. gcc与g++编译流程:1) 编译流程:2) 预处理:生成.i的预处理文件。? 只激活预处理,这个不生成文件,需要把它重定向一个输出文件。? 演示:3) 编译:生成.s的编译文件。? 只激活预处理和编译,转载 2016-05-31 18:16:39 · 7647 阅读 · 0 评论 -
C/C++编程规范--函数
函数的作用:Ø降低复杂度,便于思考:研究表明,人脑大约能处理10个数字序列。将一个相对独立的过程或功能抽象成一个函数过程,可以使分析人员脱离函数内部实现过程,仅关注函数的逻辑功能,降低思考复杂度Ø便于协同开发:函数间主要通过有限的入参和变量相互影响,协同人员之间以函数为界限,约定交互接口,可以有效减少开发过程中的相互影响,实现预期开发目标Ø代码复用:复用的函原创 2017-01-12 22:17:15 · 1565 阅读 · 0 评论