随笔分类 - C++
摘要:C++字符处理首选使用 string ,理由是string类型有很多简单易用的函数,不像char, char[], char* 等这些字符这么复杂。 如何用printf函数输出百分号? 打两个%%。。比如printf( "%%\n" );就可以输出一个百分号。同理,输出两个百分号的话就需要写四个。
阅读全文
摘要:我们经常会使用C和C++的混合编程,在某些情况下,需要将C++的string,转换成char* 的字符串。下面说两种可行的方法,作为总结。 1. data(); 如: string str="abc";char*p=(char*)str.data(); 2.c_str(); 如: string st
阅读全文
摘要:使用char数组,进行字符串的操作,是c风格的操作方式。 string是C++的风格,感觉string本质上就是一个vector<char> 以下代码详细展示了字符串的常见操作
阅读全文
摘要:int类型比较特殊,具体的字节数同机器字长和编译器有关。如果要保证移植性,尽量用__int16 __int32 __int64吧__int16、__int32这种数据类型在所有平台下都分配相同的字节。所以在移植上不存在问题。所谓的不可移植是指:在一个平台上编写的代码无法拿到另一个平台上运行时,不能达
阅读全文
摘要:sleep() 秒级 usleep() 微秒级 输出结果:
阅读全文
摘要:文件test1.cpp有类class A;文件test2.cpp有类class B.如在test2.cpp中想用A:#include "test1.cpp"当然一般的做法是将类的声明放在.h文件里,定义放在.cpp文件,然后可以直接在B类中保存一个A类的指针,那样即可实现使用A类了。
阅读全文
摘要:为什么要用断言? 首先要搞清楚为什么要用断言,不能看别人代码中有,就追赶时髦地用一用!从效果上来说assert断言能用if语句替换,那么为什么不用if语句把断言替换呢?一般而言,if语句是处理逻辑上的可能会发生的错误,断言则用来处理不应该发生的状况。 什么是不应该发的的状况呢?这要区分数据的来源:1
阅读全文
摘要:上面的代码会打印“A”。 C++ 类指针定义的时候没有初始化的时候,居然可以安全的调用类内部的成员函数而不出错。 在网上查了一下: 初始化为NULL的类指针可以安全的调用不涉及类成员变量的类成员函数而不出错,但是如果类成员函数中调用了类成员变量则会出错,既然赋值为NULL的情况都可以使用,那么自然不
阅读全文