随笔分类 -  C/C++

ios中对url中得特殊字符处理
摘要:1 NSString *UrlEncodedString(NSString *sourceText)2 {3 NSString *result = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kC... 阅读全文

posted @ 2014-07-22 14:27 K's Blog 阅读(3915) 评论(0) 推荐(0)

c语言中TMin的写法
摘要:在《CSAPP》中提到: #define INT_MAX 2147483647#define INT_MIN (-INT_MAX -1)INT_MIN这样写的原因是:虽然-2147483648 这个数值能够用int类型来表示,但在C语言中却没法写出对应这个数值的int类型常量... 阅读全文

posted @ 2014-07-16 23:33 K's Blog 阅读(824) 评论(0) 推荐(0)

更易型算法(Manipulating Algorithms)
摘要:一、移除元素(Removing)元素 remove(iter_begin, iter_end, value) 删除某个区间的元素,但是不会改变该群集的元素数量 coll.erase(remove(coll.begin(), coll.end(), value), coll.end()) 删除区间里的元素,同时会改变元素数量注:注意两者的区别 1 #include <iostream> 2 #include <list> 3 #include <algorithm> 4 #include <iterator> 5 6 using namespace 阅读全文

posted @ 2013-06-07 18:51 K's Blog 阅读(201) 评论(0) 推荐(0)

迭代器之配接器
摘要:一、Insert Iterators(安插型迭代器)back_inserter(container)front_inserter(container)inserter(container, pos) 使用insert()在pos位置上安插元素,元素排列顺序和安插顺序相同 1 #include <iostream> 2 #include <vector> 3 #include <list> 4 #include <deque> 5 #include <set> 6 #include <algorithm> 7 8 using 阅读全文

posted @ 2013-06-07 18:28 K's Blog 阅读(205) 评论(0) 推荐(0)

关于保护成员的若干问题
摘要:学习《TCPL》时,遇到了一个保护成员方面的问题。问题代码: 1 #include <iostream> 2 3 using namespace std; 4 5 class A{ 6 protected: 7 char a[128]; 8 public: 9 A(){}10 ~A(){}11 };12 class B:public A{};13 class c: public A{14 void f(B* p) {15 a[0] = 0;16 p->a[0] = 0;//error:access to protected member of... 阅读全文

posted @ 2013-06-06 13:58 K's Blog 阅读(184) 评论(0) 推荐(0)

[译】顺时针分析规则 —— 一种针对复杂变量声明的分析的方法(尤其是指针类型)
摘要:在C/C++中,指针的类型分析有时是异常复杂的,昨日偶得一篇佳文,特译之与大家共享!正文:顺时针规则 by David Anderson现在,有一种称之为“顺时针规则”的方法能让C程序员分析任何让人头疼的C语句声明。简言之,此法有如下3步:从一个未知的元素开始,按顺时针方向移动,当遇到一个元素时,用对应的英语句子代替之: [X] or [] => Array X size of... or Array undefined size of... ... 阅读全文

posted @ 2013-03-27 17:10 K's Blog 阅读(783) 评论(0) 推荐(0)

几篇文章
摘要:关于指针:Reading C Declarations: A Guide for the MystifiedThe ``Clockwise/Spiral Rule''A Question About Function Pointer In C关于git:图解Git 阅读全文

posted @ 2013-03-27 11:18 K's Blog 阅读(110) 评论(0) 推荐(0)

位运算(二进制位编号顺序)
摘要:1. 位与字节计算机系统的内存储器是由许多称为字节的单元组成的,一个字节由8个二进制位(bit)构成,一个位的取值为0或1。最右端的那一位是"最低位",编号为0;最左端的那一位称为"最高位",从最低位到最高位按顺序依次编号。以下是一个字节各二进制位的编号。7654310参见链接 阅读全文

posted @ 2013-03-26 21:33 K's Blog 阅读(568) 评论(0) 推荐(0)

gcc 引用math.h头文件,编译出现undefined reference to `pow‘等错误时,需要加参数-lm.
摘要:在自己编写的函数中调用数学函数时,如下例子:#include<stdio.h>#include<math.h>void p(void){ printf("%g\n", pow(2, 3));} int main(){ p(); return 0;}出现编译问题:undefined reference to `pow'解决方法:gcc pow.c -lm问题:为什么在函数中调用math.h头文件需要加 -lm参数,而在main中调用却不需要? 阅读全文

posted @ 2013-03-21 11:22 K's Blog 阅读(1358) 评论(0) 推荐(0)

【达内C++学习培训学习笔记系列】C语言之三循环语句和数组
摘要:1。清除缓存区:scanf("%*[^\n]%*c") 关于详细的清除缓存区的方法,请点击链接2。枚举enum,例如:enum bool{ ture=1, false=0 }; //用有意义的名字代替数字,增加程序的可读性 枚举类型本质上整型的数据,更详细的讨论,请点击3。break和continue: break 在switch语句中,用于跳出语句;在循环语句中,用于跳出循环体 continue 只能用于循环语句中,用于结束本次循环,开始下一次循环 更多内容,请点击链接4。unsigned int 类型能表示更大的数,例子详见/media/tarena/code/01_C 阅读全文

posted @ 2013-03-06 21:37 K's Blog 阅读(483) 评论(0) 推荐(0)

【达内C++学习培训学习笔记系列】C语言之二scanf和选择语句
摘要:1。scanf(“格式串”,地址表) 常用的格式: %c(字符) %s(字符串), %d %x %o,%ld( long int ),%hd( short int ),%lf(double),%f( float ) 格式串中只需要占位符,不许要变量,以下例子的表示错误:scanf("%lf\n",&d); //不能带 \n 一般情况下,scanf读取一个字符时,占位符前总带上一个空格,即scanf(" %c", &ch); //加上空格的目的是跳过空白字符 否则,在遇到下面的情况下会出现错误:printf( "这里有一个换行符\ 阅读全文

posted @ 2013-03-04 13:38 K's Blog 阅读(235) 评论(0) 推荐(0)

【达内C++学习培训学习笔记系列】C语言之一运算符
摘要:1、按位与&:1 & X = X, 0 & X = 0,可以判断某一位是0还是1,可以将某一位置0 按位或 |:1 | X = 1,0 | X = X,可以将某一位置1 异或^: 0 ^ X = X,1 ^ X = ~X2、位移 左移,移动K位等价于乘以2^K,右边补0 右移,移动K位等价于除以2^K,左边补上符合位3、地址运算符 & *4、自增(自减)运算符 在运算中,a++将旧值参与运算,a++ < 10等价于temp=a,a = a+1,temp < 10 而++a将新值参与运算,++a < 10等价于 a = a+1,a < 10 阅读全文

posted @ 2013-03-03 17:41 K's Blog 阅读(168) 评论(0) 推荐(0)

导航