
c++
飞起的小象
这个作者很懒,什么都没留下…
展开
-
类的定义和声明必须放在main函数前
类的定义和声明必须放在main函数前原创 2017-01-08 19:41:44 · 2238 阅读 · 0 评论 -
c++中vector使用
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;for(it=vec.begin();it原创 2017-02-26 10:40:34 · 351 阅读 · 0 评论 -
文件中有一组整数,要求排序后输出到另一个文件中
#i nclude#i ncludeusing namespace std;void Order(vector& data) //bubble sort{int count = data.size() ;for ( int i = 0 ; i < count ; i++){for ( int j = 0 ; j < count - i - 1 ; j++){if ( d原创 2017-02-26 15:44:44 · 745 阅读 · 0 评论 -
int *p=(int *)(&a + 1)的理解
#include int main (){ int a[5] = {1,2,3,4,5}; int *p = (int*)(&a + 1);//&a表示整个数组的地址 printf("%d %d" , *(a + 1), *(p - 1));}//输出结果为:2,5解释如下&a+1不是首地址+1,系统会认为加了一个整个a数组,偏移了整个数组a的大小(也就是原创 2017-02-26 16:37:05 · 5777 阅读 · 0 评论 -
指针
32位机器上, 任何指针变量都只占4个字节。 64位机器则是8个字节。原创 2017-03-30 11:30:02 · 309 阅读 · 0 评论 -
mutable 修改const修饰过的变量
#include #include using namespace std;class C{ public: C(int i):m_Count(i){} int incr() const { return ++m_Count; } int decr() const { return --m_Count; } private: m原创 2017-06-30 16:50:50 · 416 阅读 · 0 评论 -
fork()系统调用的特性
fork()系统调用是Unix下以自身进程创建子进程的系统调用,一次调用,两次返回,如果返回是0,则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid),这是众为周知的。 还有一个很重要的东西是,在fork()的调用处,整个父进程空间会原模原样地复制到子进程中,包括指令,变量值,程序调用栈,环境变量,缓冲区,等等。原创 2017-07-02 22:27:01 · 734 阅读 · 0 评论 -
erase
#include #include using namespace std; int main(void) { vector array; array.push_back(100); array.push_back(300); array.push_back(300); array.push_back(300);原创 2017-06-25 11:23:53 · 336 阅读 · 0 评论 -
C和C++间struct的深层区别
C和C++间struct的深层区别 在C++语言中struct具有了“类” 的功能,其与关键字class的区别在于struct中成员变量和函数的默认访问权限为public,而class的为private。 例如,定义struct类和class类:struct structA{char a;…}class classB{ char a原创 2017-06-26 16:08:50 · 276 阅读 · 0 评论 -
32,64位编译环境下的sizeof问题经常出现。
32,64位编译环境下的sizeof问题经常出现。 不过,两者环境下的数据类型所占字节数都是一样的, char:1字节; short:2字节; int:4字节; long:4字节; long long:8字节; float:4字节; double:8字节; long double:8字节;唯一不同的是:指针类型 32位:指针类型占4个字节 6原创 2017-06-27 21:56:04 · 515 阅读 · 0 评论 -
main.cpp:14:8: error: stray '\200' in program
main.cpp:14:8: error: stray '\200' in program main.cpp:14:8: error: stray '\234' in program原创 2017-07-18 10:10:19 · 1133 阅读 · 0 评论 -
如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
#ifdef __cpluspluscout#elsecout#endif原创 2017-02-25 22:13:35 · 683 阅读 · 0 评论 -
c++从文档中读入数据和把输出数据写入文档
#include #include using namespace std;int main(){ int a[737][2]; ifstream fin("/home/wxq/桌面/datatest/intree.txt"); for(int i=0;i<737;i++) { for(int j=0;j<2;j++)原创 2017-02-24 21:26:36 · 1444 阅读 · 0 评论 -
error: declaration of ‘a’ as multidimensional array must have bounds for all dimensions except ...
error: declaration of ‘a’ as multidimensional array must have bounds for all dimensions except the first|数组定义要长度原创 2017-01-08 19:48:01 · 19616 阅读 · 0 评论 -
c++中定义一个全局变量,子函数修改变量后,主函数没有改变问题
在子函数声明时加&如 (int *&head);原创 2017-01-09 20:59:27 · 8341 阅读 · 0 评论 -
析构函数
析构函数是提供一个在对象删除前可以释放这个对象所占有的资源的机会。比如:class A{ A(){m_a=new int[10];} ~A(){delete [] m_a;} int * m_a;}原创 2017-01-10 10:29:31 · 310 阅读 · 0 评论 -
delete与 delete []区别
delete只会调用一次析构函数,而delete[]会调用每一个成员的析构函数。在More Effective C++中有更为详细的解释:“当delete操作符用于数组时,它为每个数组元素调用析构函数,然后调用operatordelete来释放内存。”delete与New配套,delete []与new []配套 MemTest*mTest1=newMemTest[10]; MemT原创 2017-01-12 20:36:04 · 741 阅读 · 0 评论 -
c++ error: expected initializer before ‘int’
c++ 函数声明的时候漏加 “;”原创 2017-01-17 21:24:39 · 30786 阅读 · 1 评论 -
error:name lookup of "c1 "changed for ISO 'for' scoping
错误的原因: for循环中在初始化时同时定义的变量的作用域范围的一个问题。ISO/ANSI C++ 把在此定义的变量的作用域范围限定在 for 循环体内,也就是说,在循环体之外这个变量是无效的。原创 2017-02-28 21:20:23 · 1884 阅读 · 0 评论 -
exit()和return()的理解
1. return返回函数值,是关键字; exit 是一个函数。2.return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。3. return是函数的退出(返回);exit是进程的退出。exit()内的数字效果是相同的,但是可以用不同的数字来区分退出的原因。原创 2017-03-02 10:18:44 · 414 阅读 · 0 评论 -
strcpy函数
strcpy函数 原型声明:extern char *strcpy(char* dest, const char *src); 头文件:#include 和 #include 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针原创 2017-02-23 15:46:50 · 402 阅读 · 0 评论 -
strcmp函数
strcmp函数 C/C++函数,比较两个字符串 设这两个字符串为str1,str2, 若str1==str2,则返回零; 若str1>str2,则返回正数; 若str1<str2,则返回负数。 函数原型:extern int strcmp(const char *s1,const char *s2);原创 2017-02-23 15:48:20 · 363 阅读 · 0 评论 -
&位与的用法
求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。原创 2017-02-24 16:12:40 · 405 阅读 · 0 评论 -
大端小端格式理解
1. 大端/小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。2.为什么会有大小端:为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有原创 2017-06-29 16:13:14 · 441 阅读 · 0 评论