C/C++
文章平均质量分 63
ancientmoondjay
这个作者很懒,什么都没留下…
展开
-
C++ STL中Map的按Key排序和按Value排序
转载自 IIcyZhao’s Road 本文链接地址: http://blog.csdn.net/iicy266/article/details/11906189map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择。 我们这样定义,m转载 2016-06-07 20:53:16 · 297 阅读 · 0 评论 -
C指针有感
C语言指针的一些关键知识原创 2016-11-06 10:54:15 · 639 阅读 · 0 评论 -
C++实现的访问者模式
访问者模式原创 2016-11-10 15:49:49 · 1184 阅读 · 0 评论 -
原码、反码、补码:int x=1;int y=~x;
知识储备: 在计算机中,整数用补码形式表示。 ~表示按位取反。 (1)对于正数,补码就是其原码。 (2)对于负数,原码求补码是取反加一(符号位除外),补码求原码也是取反加一(符号位除外)。所以对于此题,解答过程如下:1:0000 0001 (原码、反码、补码)~1:1111 1110 (补码)(~1在计算机中的表示)1000 0010 (原码)所以~1 = -2那么,如果x=-3呢原创 2017-03-10 09:49:24 · 988 阅读 · 0 评论 -
string的内存分配引发的思考
今天突然在想string的内存分配是怎样的呢?通过查阅《C++primer》和网上资料以及做实验,对string这个家伙更有进一步的认识了。一、初始化string对象的方式如果使用等号(=)初始化一个变量,实际上执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创建的对象中去。与之相反,如果不使用等号,则执行的是直接初始化。注意 ,初始化后string对象的值是没有’\0’的。string s1原创 2017-03-12 11:20:48 · 674 阅读 · 0 评论 -
编程实现整数和字符串的相互转换
一、整数 -> 字符串 思路:对每一位加’0’,再逆序。整数加’0’会被隐式转化成char。 代码:#include <iostream>using namespace std;//整数转换为字符串int main() { int i_num = 12345,i_i=0; string s_tmp,s_str; while (i_num) { s_tmp原创 2017-03-12 19:55:21 · 781 阅读 · 0 评论 -
C++ STL中Map的按Key排序和按Value排序
(必须吐嘈下CSDN,竟然没有转载功能,搞得看到好文章都不能一键转载,一段一段复制。orz) 原文:http://blog.csdn.net/iicy266/article/details/11906189?utm_source=tuicool&utm_medium=referralmap是用来存放< key, value >键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存转载 2017-04-05 21:55:39 · 1077 阅读 · 0 评论 -
结构体内存对齐详解
一、意义 之所以要有结构体内存对齐,是因为处理器每次读写内存的时候从k倍数的地址开始,每次读取或写入k个字节的数据。如果能保证结构体内存对齐,那么每个成员数据就能在这k个字节里,而不会横跨在两个符号对齐要求的k字节内存上。加快读取速度。二、对齐模数的规定 结构体中,各个成员按照被声明的顺序在内存中顺序存储,在成员之间可能会有插入空字节,整个结构体的地址和第一个成员的地址相同。(一)缺省情况 在原创 2017-03-10 15:31:28 · 440 阅读 · 0 评论 -
引用常量之我见
我们先来看下下面的代码: int a = 10; const int &b = a; a += b; cout << a << endl; cout << b << endl;你觉得会输出什么呢?想一想。okay,答案是20和20! 我的理解是引用虽说是一个变量的别名,但是实际上还是一个指针常量,也就是这个指针是常量,不能重新赋值为其他地址,所以这也是为什么引原创 2017-04-15 00:02:07 · 415 阅读 · 0 评论