c++笔记1
来源:互联网 发布:jquery怎么遍历数组 编辑:程序博客网 时间:2024/05/21 20:03
今天写c++,碰到了两个很蛋疼的问题:
1. 你在声明数组的大小时,一定要给确切的值
如char str[size],这在编译的时候会通过,但执行的时候g++总是告诉我段错误。
2.如果你确实想动态分配数组大小,可以用new
char* str = new char[size] ;
但记住:不要在switch的分支语言里,写上这句,不然,编译都通过不了。
如:
switch(code){
case 1:
.........;
break;
..........
case i:
char* str = new char[size] ;
break;
............
default:
break;
}
g++会提示你:crosses initialization of ‘char*
具体的讨论见这个帖子:http://topic.csdn.net/t/20040816/15/3279290.html
3. c++ string
原来string的+操作符是不能连接除字符串之外的数据类型(int,float,char,.......):
这意味着你不能写 成下面这样:
string str = 'bug:' ;
str += 10000;
如果实在想连Int之类的数据类型,您还得转换为字符串,如sprintf等
如果你想连接char:
不好意思,你得这样连:
char c = 's';
string cc(1,c) ;// 第一个参数为字符的长度
str += cc ;
如果你想像java里面使用string的加号,如
str += aa + gg +cc+ '''‘’‘’‘’;
不好意思,c++不让您这么轻松,您这等号后面的待连接变量,至少得有一个显示为string类型
如:str += aa + string(gg) +cc + ‘’‘’‘’;
即使都是字符串也不行哦:如:str += "aa"+"aa"+"aa"+"aa"+"aa" ;
您得这样:str += "aa"+string("aa")+"aa"+"aa"+"aa" ;
蛋疼把
4. sstream的使用
哥开始把它当作类似fstream之类的,只要跟某个字符串绑定后,就可以不断往字符串里写
其实,哥错来,这玩意只是用来数据类型转换用的,别太稀罕它了
11 string result ;
12 stringstream ss;
13 ss<<"hello world";
14 ss>>result;
15 cout<<result<<endl;
您知道输出的是什么不,只有hello!!!!!!
why???????????
明显空格之类的特殊符号被看作了结束符,真坑爹!!
- 【c/c++】学习笔记1
- C学习笔记1
- 《Essential C++》笔记1
- C 学习笔记1
- c笔记1
- Object-c笔记1
- C语言笔记1
- C笔记1
- c程序设计语言笔记1
- C程序设计语言笔记1
- <<Effective C++>>笔记1
- C基础笔记1
- Objective-C笔记-1
- objective-c 笔记1
- c++primer笔记1
- C语言 笔记1
- 《Exceptional C++》笔记(1)
- C语言笔记1
- mvc学习笔记-mvc概述
- 显示桌面
- oracle before触发器
- 16款最流行的JavaScript框架
- 1. android 背景渐变色(shape,gradient)
- c++笔记1
- 虚拟化
- 排序
- 深入探索C++对象模型笔记一 —— 关于对象(上)
- 程序员需要具备的基本技能
- 移动终端管理系统的关键技术研究 - 转贴
- 第6天
- 10个免费的PHP脚本资源下载网站推荐
- C语言:嵌入式程序员必须知道的16个问题