代码改变世界

随笔档案-2015年03月

连续多行输入--C++ 中字符串标准输入的学习及实验(续篇)

2015-03-31 14:16 by itwolf, 1599 阅读, 收藏, 编辑
摘要: 编程中常常会用到连续多行输入的情况,如果事先知道要输入多少行的话,可以直接定义一个变量,然后用循环就可以实现了,但有时候事先并不知道,要输入多少行,于是就可以用到输入流碰到文件终止符的情况了,具体的操作就是ctrl+Z,然后按下回车键程序例1 1 #include 2 #include 3 #inc... 阅读全文

C++ string类的学习

2015-03-30 19:03 by itwolf, 491 阅读, 收藏, 编辑
摘要: string类对于处理字符串的一些应用非常的方便,我个人感觉,string和字符数组const char *很像,而且又比字符数组用起来方便的多。注意其删除,取子串,插入等函数里面都有一个重载版本是使用偏移量来操作的,注意其默认值是不同的,erase和substr里面的默认值是偏移量为0,个数是np... 阅读全文

C++ 隐式类型转换

2015-03-30 14:44 by itwolf, 905 阅读, 收藏, 编辑
摘要: C++定义了一组内置类型对象之间的转换标准,在必要的时候它们被编译器隐式的转换1、任何两种或多种类型的数据和变量混合操作的时候,最宽的数据类型成为目标转换类型(常量和变量都会被改变)2、不同类型的表达式之间赋值的时候,被赋值的对象类型成为目标转换类型3、函数调用实参和形参类型不一致的时候,形参的对象... 阅读全文

转载:C++ STL set学习

2015-03-30 14:34 by itwolf, 249 阅读, 收藏, 编辑
摘要: 声明:本文转载自Penguin的博客http://blog.sina.com.cn/s/blog_779cf3410101389s.html1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,... 阅读全文

C++ 中字符串标准输入的学习及实验

2015-03-28 11:09 by itwolf, 989 阅读, 收藏, 编辑
摘要: 声明:下面实验中[]里面表示要输入里面的符号,[]符号本身并未输入1、cin>>cin使用空白(空格、制表符、回车)来确定字符串的结束位置。cin会将换行符留在输入输出队列中。 1 #include 2 using namespace std; 3 4 int main() 5 { 6 c... 阅读全文

C++中求两个正整数的最大公约数和最小公倍数

2015-03-27 09:41 by itwolf, 2413 阅读, 收藏, 编辑
摘要: 最大公约数直接用辗转相除法,最小公倍数就是两个数的乘积除以最大公约数#includeusing namespace std;int gys(int x,int y){ return y? gys(y,x%y):x;}int main(){ int x,y; cin>>x>>y... 阅读全文

C++中巧妙的位运算

2015-03-25 10:30 by itwolf, 512 阅读, 收藏, 编辑
摘要: 位运算要多想到与预算和异或运算,并常常将两个数对应位上相同和不同分开处理一、x&(x-1)消除x二进制中最右边的一个1。这个比较厉害,比如统计某个二、与和异或的巧妙结合的思想与运算可以取出两个二进制数中都有1的部分,异或可以求出两个二进制数中只有一个有1的部分,所以运用位运算的时候可以将两个数用与和... 阅读全文

C/C++中static关键词的作用

2015-03-25 10:08 by itwolf, 230 阅读, 收藏, 编辑
摘要: 1、在函数体内的static变量作用范围是该函数体,其只被内存分配一次,所以在下次调用的时候会保持上一次的值。2、模块内的static全局变量可以被模块内的所有函数访问,但不能被模块外的函数访问。3、模块内的static函数可以被模块内的其他函数访问,但不能被模块外的函数访问。4、类中的static... 阅读全文

sizeof(数组)

2015-03-23 21:10 by itwolf, 316 阅读, 收藏, 编辑
摘要: 这里就不讨论一般的数组长度计算了,只说明一下任何数据到了函数的形参中都将退化为指针,所以计算大小的时候,也是计算的指针的大小直接上代码了 1 // class sizeof测试.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include... 阅读全文

C++中const小结

2015-03-23 20:00 by itwolf, 196 阅读, 收藏, 编辑
摘要: 1、const修饰普通变量(非指针变量)const修饰变量,一般有两种写法:const TYPE value;TYPE const value;对于一个非指针的类型TYPE,这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是只读的。2、const修饰指针变量通用... 阅读全文

case语句居然还可以这么用的

2015-03-23 10:19 by itwolf, 603 阅读, 收藏, 编辑
摘要: 直接上代码了// switch case case语句测试.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ int num; cin>... 阅读全文

sizeof(结构体)的计算

2015-03-22 11:54 by itwolf, 16122 阅读, 收藏, 编辑
摘要: 摘要:经常被计算结构体的sizeof给搞晕,于是找了个时间,静下心来,搞定它。一、为什么结构体计算这么乱?答案是字节对齐,计算机存储系统中以Byte为单位存储数据,不同数据类型所占的空间不同,如:整型(int)数据占4个字节,字符型(char)数据占一个字 节,短整型(short)数据占两个字节,等... 阅读全文

二分查找

2015-03-12 14:18 by itwolf, 203 阅读, 收藏, 编辑
摘要: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。C++源代码: 1 // 二分查找.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h"... 阅读全文

转:归并排序

2015-03-12 13:04 by itwolf, 237 阅读, 收藏, 编辑
摘要: 声明:本文转载自:MoreWindows 的白话经典算法系列之五 归并排序的实现。原文的链接:http://blog.csdn.net/morewindows/article/details/6678165归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Co... 阅读全文

C++ STL stack和queue

2015-03-10 09:55 by itwolf, 349 阅读, 收藏, 编辑
摘要: C++ STL中独立的序列式容器只有vector,list,deque三种,stack和queue其实就是使用容器适配器对deque进行了封装,使用了新接口。使用标准库的栈和队列时,先包含相关的头文件#include#include定义栈如下:stack stk;定义队列如下:queue q;栈提供... 阅读全文

为什么无返回值的链表的插入操作头结点一定要用指向指针的指针

2015-03-09 15:43 by itwolf, 1834 阅读, 收藏, 编辑
摘要: 前言:为什么链表的插入操作头结点一定要用指向指针的指针?之前自己对这个问题总是一知半解,今天终于花了点时间彻底搞懂了。总的来说这样做的目的是为了应对“空链表”的情况。为了防止往一个空链表中插入一个结点时,新插入的结点那就是链表的头指针,这时如果链表的结点是一级指针的话,那么出了链表插入函数的作用域后... 阅读全文

常量字符串和指针

2015-03-09 10:52 by itwolf, 352 阅读, 收藏, 编辑
摘要: 为了节省内存,C++把常量字符串单独放在一个内存区域,如果有几个指针指向相同的常量字符串时,它们实际上指向的是相同的内存地址。而数组是要每一个数组单独占用一块内存的 1 #include "stdafx.h" 2 #include 3 using namespace std; 4 5 int _... 阅读全文

C语言中指针数组和数组指针的区别

2015-03-08 15:07 by itwolf, 1633 阅读, 收藏, 编辑
摘要: 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。 数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。下面到底哪个是数组指针,哪个是指针数组呢:... 阅读全文

二维数组简介与使用

2015-03-08 14:58 by itwolf, 64020 阅读, 收藏, 编辑
摘要: 前言本文将探讨一下关于二维数组在内存中的存储和二维数组在参数传递时的使用。一、二维数组在内存中的存储如果定义一个这样的二维数组int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};则其在内存中的表示可能下面这样的。由上图可以看出,在内存中二维数组是按照... 阅读全文
点击右上角即可分享
微信分享提示