
C++学习文档
楚兴
这个作者很懒,什么都没留下…
展开
-
atof,atol,atrtod,strtol,strtoul的使用
一、atoi函数(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include 定义函数 int atoi(const char *nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。 返回值转载 2014-06-03 09:33:08 · 1639 阅读 · 0 评论 -
virtual 与 abstract 区别
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。 一、Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用转载 2014-05-28 09:24:14 · 918 阅读 · 0 评论 -
内存分配与内存对齐全面探讨
1、栈区(stack):类似于堆栈,由程序自动创建、自动释放。函数参数、局部变量以及返回点等信息都存于其中。 2、堆区(heap): 使用自由,不需预先确定大小。多数情况下需要由程序员手动申请、释放。如不释放,程序结束后由操作系统垃圾回收机制收回。 3、全局区/静态区(static):全局变量和静态变量的存储是区域。程序结束后由系统释放。 4、文字常量区:常量字符串就是放在这里的。 程序结束后由系统释放。转载 2015-03-23 10:36:56 · 1196 阅读 · 0 评论 -
C++指针的概念解读[超详细]
转自:http://www.codeceo.com/article/cpp-pointer.html 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子:例一:int *ptr; char *ptr;原创 2015-04-04 14:57:52 · 1865 阅读 · 0 评论 -
最大公约数和最小公倍数
求最小公倍数算法最小公倍数=两整数的乘积÷最大公约数求最大公约数算法辗转相除法有两整数a和b: ① a%b得余数c ② 若c=0,则b即为两数的最大公约数 ③ 若c≠0,则a=b,b=c,再回去执行①#include <iostream> #include <cmath> using namespace std;const float EPS = 0.00001; int bei(int a,原创 2015-05-26 18:37:34 · 1840 阅读 · 0 评论 -
Bjarne Stroustrup对C++程序员的忠告
转自:http://blog.youkuaiyun.com/adm_qxx/archive/2007/05/20/1617488.aspx 第1章 致读者 [1] 在编写程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想: [a] 如果你能把“它”看成一个独立的概念,就把它做成一个类。 [b] 如果你能把“它”看成一个独立地实转载 2015-06-16 21:01:45 · 940 阅读 · 0 评论 -
50条大牛C++编程开发学习建议
转自:http://www.codeceo.com/article/50-tips-learn-cpp.html1、把C++当成一门新的语言学习(和C没啥关系!)。2、看《Thinking In C++》,不要看《C++编程思想》。3、看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不转载 2015-06-23 14:52:14 · 850 阅读 · 0 评论 -
C++多线程编程笔记
Windows系统为我们提供了相关API,我们可以使用它们来进行多线程编程。 创建线程的函数: HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD SIZE_T dwStackSize, // initial stack size LP原创 2015-08-07 13:29:13 · 958 阅读 · 0 评论 -
STL之关联容器
关联容器支持高效的关键字查找和访问。两个主要的关联容器(associative-container)类型是map和set。标准库提供8个关联容器,它们的不同体现在三个维度上: 或者是一个set,或者是一个map 或者要求不重复的关键字,或者允许重复关键字 按顺序保存元素,或无序保存。 允许重复关键字的容器的开头名字中都包含单词multi;不保持关键字按顺序存储的容器的名字都以单词unord原创 2015-03-15 21:17:20 · 1166 阅读 · 0 评论 -
const char*, char const*, char*const的区别
const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 这个知识易混点之前是看过了,今天做Linux上写GTK程序时又出现个Warning,发散一下又想到这个问题,于是翻起来重嚼一下。 事实上这个概念谁都有只是三种声明方式非常相似: Bjarne在他的The C++ Programming Language里面给出原创 2014-05-27 15:54:45 · 902 阅读 · 0 评论 -
#pragma用法
#pragma once原创 2014-05-04 15:16:43 · 832 阅读 · 0 评论 -
C++文件操作
1、文件操作类 fstream: 可同时读写操作的文件类(由iostream引申而来) ofstream: 写操作(输出)的文件类(由ostream引申而来) ifstream: 读文件(输入)的文件类(由istream引申而来) (文件类的实质,解释的很好) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在转载 2014-12-26 14:15:49 · 871 阅读 · 0 评论 -
C++获取控制台输入
1 输入C风格字符串 char name[20]; gets(name); //方式1 //cin.get(name,20);//方式2 2 输入string string str; getline(cin,str); C风格字符串和string的输入也可使用cin,但是遇到空格或者换行符,则会打断 char ch1[20]; char ch2[20]原创 2014-12-26 14:06:22 · 14640 阅读 · 0 评论 -
C++各种数据类型表示范围
转自:http://www.cnblogs.com/maowang1991/p/3166928.html #include #include #include using namespace std; int main() { cout << "type: \t\t" << "************size**************"<< endl; cout << "bool:转载 2015-01-07 22:06:48 · 922 阅读 · 0 评论 -
C++进制转换
转自:http://blog.youkuaiyun.com/xiaofei2010/article/details/7434737 十进制转二进制: [cpp] view plaincopyprint? //十进制转二进制 #include using namespace std; void printbinary(const转载 2015-01-06 22:24:52 · 1126 阅读 · 0 评论 -
字符串指针修改问题
字符串的定义方式有两种,直接先上代码: 第一种: char num[20] = "hello"; *num = '0'; //可行 num[1] = '0'; //可行 cout 第二种: char* num = "hello"; *num = '0'; //错误 num[1] = '0'; //错误 cout对于第一种方式: char *m原创 2015-01-14 21:31:11 · 1545 阅读 · 0 评论 -
C++数组定义和访问
转自:http://www.cnblogs.com/kykuaileren/archive/2011/09/04/2166646.html 一、数组定义和初始化 1: 一维数组初始化: 2: 标准方式一: int value[100]; // value[i]的值不定,没有初始化 3: 标准方式二: int value[100] = {1,2}; // val转载 2015-01-08 20:40:17 · 2815 阅读 · 0 评论 -
LIB和DLL的区别与使用
共有两种库: 一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。 一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。 共有两种链接方式: 动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅转载 2014-05-28 11:22:10 · 689 阅读 · 0 评论 -
STL之再探迭代器
插入迭代器迭代器被绑定到一个容器上,可用来向容器插入元素。 back_inserter创建一个使用push_back的迭代器 front_inserter创建一个使用push_front的迭代器 inserter创建一个使用insert的迭代器,此函数接受哦第二个参数,这个参数必须是指向一个给定容器的迭代器。元素将被插入到给定迭代器所表示的元素之前。list<int> lst = {1,2,3原创 2015-03-13 21:57:10 · 1097 阅读 · 0 评论