C++
文章平均质量分 86
hzw.000
这个作者很懒,什么都没留下…
展开
-
#include <stdio.h> //c库要.h。printf("Input n:\n");scanf("%d",&n);
。。。任何代码先写上4句,#include //c库要.h。printf("Input n:\n");scanf("%d",&n);#include using namespace std;//2和3一起写system("pause");。。。c中数组一定要定义个数,按题中数字 最大限写。char s[100]={""};//char数组,即字符串,原创 2015-09-19 13:26:34 · 973 阅读 · 0 评论 -
c++中冒号(:)和双冒号(::)的用法
转载于:http://fengqing888.blog.163.com/blog/static/3301141620100623933512/1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构转载 2016-03-02 19:46:27 · 573 阅读 · 1 评论 -
this指针指向当前调用对象,只是用于类的非静态成员函数。静态函数和全局函数 无当前对象,无this指针。
void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 this->month = mn; (*this).month = mn; }题目9. Please choose the right statement of "this" pointer:(下面关于this指针哪个描述是正确的)A.原创 2016-03-02 23:06:10 · 6605 阅读 · 0 评论 -
32位float在内存中的存储主要分成三部分:1bit符号位,8bit指数位(127+指数),23bit尾数位..0.0f存0。。1.0f存0x3f800000.
在C/C++中float是32位的,double是64位的,两者在内存中的存储方式和能够表示的精度均不同,目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。无论是float还是double,在内存中的存储主要分成三部分,分别是:(1)符号位(Sign):0代表正数,1代表负数(2)指数位(Exponent):用于存储科学计数法中的指转载 2016-02-02 23:21:04 · 14594 阅读 · 1 评论 -
为 Visual Studio 配置 Git 源代码管理工具
为 Visual Studio 配置 Git 源代码管理工具使用 Visual Studio 可以配合 Git 工具做版本管理。也可以直接将工程同步到 GitHub 上。配置过程非常简单。首先你要安装 GIt,安装和配置步骤见 安装 Git,Windows 上只要替换其中的安装步骤,其他类似。在 Visual Studio 安装插件 Git Source Control转载 2016-02-23 23:43:40 · 1033 阅读 · 0 评论 -
#include<string>与#include<string.h>的区别
感谢博主,转载http://www.cnblogs.com/frustrate2/archive/2012/12/03/2799341.html为什么下面这段代码#include void main(){ string aaa= "abcsd d"; printf("looking for abc from abcdecd %s\n",转载 2016-04-03 22:49:11 · 2067 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;转载 2016-02-28 09:21:57 · 356 阅读 · 0 评论 -
最长上升子序列(LIS).方法1:DP,方法2:map。
给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。说明最长上升子序列的定义:最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的。https://en.wikipedia.org/wiki/Longest_common_subsequence_problem样例原创 2016-04-17 09:03:56 · 596 阅读 · 1 评论 -
findLadders--BFS--a到z 每个字母尝试着换。
void gen_path(unordered_map > &father, vector &path, const string &start, const string &word, vector > &result) { path.push_back(word); if (word == start) { result.push_back(path); reverse原创 2016-04-17 22:26:40 · 434 阅读 · 0 评论 -
二叉树的所有路径,因为有些IDE不支持itoa方法,自定义的int->stringstream->string,
二叉树的所有路径 描述 笔记 数据 评测给一棵二叉树,找出从根节点到叶子节点的所有路径。您在真实的面试中是否遇到过这个题? Yes样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"]#inc原创 2016-05-02 09:34:55 · 404 阅读 · 0 评论 -
c中的inline避免了频繁调用函数对栈内存重复开辟。
在c中,为了解决一些频繁调用的小函数大量消耗栈空间的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。下面我们来看一个例子#include //函数转载 2016-02-14 17:28:50 · 2451 阅读 · 0 评论 -
(x&y) + ( (x^y)>>1 )求平均值
(x&y)+((x^y)>>1),把x和y里对应的每一位(指二进制位)都分成三部分,每一类分别计算平均值,最后汇总。其中,第一部分是x,y对应位都是1,用x&y计算其平均值;第二部分是x,y中对应位有且只有一位是1,用(x^y)>>1计算其平均值;第二部分是x,y中对应位均为0,无须计算。下图详细说明:下面我再分别说明一下前两种情况是怎样计算的:第一部分,x,y对应位均为1,相加后再除以原创 2016-02-14 00:29:06 · 635 阅读 · 1 评论 -
构造函数中尽量不要抛出异常,能避免的就避免。。不要在析构函数中抛出异常!
是否能在构造函数,析构函数中抛出异常? 最近在工作中,接触到两次这个问题,一次是与Manager的每月一次交流中,Manager问我这个问题,当时回答得支支吾吾;另外一次是《Code View》学习小组会上,同事闻到过这个问题。所以索性整理下来,以便自己明确。 首先是析构函数。一. 析构函数 参照《Effective C+转载 2015-09-19 13:31:28 · 1743 阅读 · 0 评论 -
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
vs2010的时候从来没有出现过错误,,,现在总是提示1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏方法一:换IDE,用CFree.、、、、、、、方法二:网速搜到的终极解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目原创 2016-01-04 10:06:26 · 532 阅读 · 0 评论 -
C++中map、hash_map、unordered_map、unordered_set通俗辨析
标题中提到的四种容器,经常容易弄混淆。这里我不去把库里面复杂的原码拿出剖析,这个如果有兴趣其实完全可以查C++Reference,网上的原码是最权威和细致的了,而且我觉得有耐心直接认真看原码的人,也不需要我这篇速记博文了,所以我这里还是讲的通俗一些,把它们区分的七七八八。一、hash_map、unordered_map这两个的内部结构都是采用哈希表来实现。区别在哪里?unorder转载 2015-12-22 10:08:18 · 686 阅读 · 0 评论 -
vector使用方法,初始化vector<int> ivec( iarray,iarray+count );
注意,在使用前要包含vector对应的头文件:#include vector>vector是同一种类型的对 象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库负责管理存储元素的相关内存。我们把vector称为容器,是因为它可以包 含其他对象。一个容器中的所有对象都必须是同一种类型的。。。。。初始化int iarray[]={6,8,原创 2016-01-09 19:32:54 · 4217 阅读 · 0 评论 -
vector.end()指向的是最后一个元素的下一个位置,所以访问最后一个元素的正确操作为:vector.end() - 1;
向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似,数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了,例如,int a[6];而vector是动态分配内存,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量,vector容器的容量增长是按照容器现在容量的一倍进行增长。 fron原创 2015-12-24 22:18:10 · 24277 阅读 · 1 评论 -
C printf() 详解——printf('%08x',number); 程序员面试宝典中的一个错误 char * b=(char *)&a
本文转自:http://www.cppblog.com/wuzimian/archive/2012/05/23/175925.aspx1 #include 2 using namespace std; 3 int main() 4 { 5 unsigned int a = 0xFFFFFFF7; 6 unsigned char i = (unsign转载 2016-02-08 16:56:42 · 775 阅读 · 0 评论 -
1到整数n中 出现1的次数,分,最高位,非最高位,两次数相加。递归位数减1.
阅读目录题目描述:解题思路:全部代码:题目描述:问题是:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数输入:转载 2016-01-29 00:29:15 · 406 阅读 · 0 评论 -
Sudoku Solver填数
Write a program to solve a Sudoku puzzle by filling the empty cells.Empty cells are indicated by the character '.'.You may assume that there will be only one unique solution.A sudoku转载 2016-03-01 16:47:50 · 391 阅读 · 0 评论 -
判断Sudoku是否成立?点能重复出现,1~9不能 重复出现。
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Ruleshttp://sudoku.com.au/TheRules.aspx .The Sudoku board could be partially filled, where empty cells are filled with the char转载 2016-03-01 16:51:09 · 540 阅读 · 0 评论 -
C++容器的insert()函数有以下三种用法: 最终*it=val;
C++容器的insert()函数有以下三种用法: 最终*it=val;//用法1:在指定位置it前“插入”值为val的元素,返回指向这个元素的迭代器,iterator insert( iterator it, const TYPE &val ); //用法2:在指定位置it前“插入”num个值为val的元素 void insert( iterator it, size_ty原创 2016-06-29 20:41:53 · 33057 阅读 · 1 评论