摘要:
当一个空类经过C++编译器处理之后会发生下面的变化:处理前class Empty{ };处理后:class Empty{public: Empty(){}; ~Empty(){}; Empty(const Empty& rhs){}; Empty& operator=(const Empty& rhs){};}也就是说C++编译器会为一个空类自动生成默认的构造函数、copy构造函数、析构函数以及赋值运算符函数,唯有这些函数被需要(被调用),它们才会被编译器创建出来。Empty e1; //调用default构造函数Emp... 阅读全文
摘要:
对于内置类型以外的任何东西,初始化责任落在构造函数身上,规则很简单:确保每一个构造函数都将对象的每一个成员初始化。但有的时候我们容易混淆了赋值和初始化举一个简单的例子:class Name{public: Name(std::string n); ~Name();private: std::string name;};Name::Name(std::string n){ name=n; //这并非初始化,而是赋值。}Name::Name(std::string n):name(n) //真正意义上的初始化{}另外,构造函数的参数初始化列表顺序... 阅读全文
摘要:
刚进入IT程序员这一行有一年的时间了,现在是c++学了点皮毛,最近又想学习python,又想学习java,我否定了自己的想法,还是应该深入的学习c++的stl,以及boost,但摆在前面的还有设计模式,不说了还是塌下心来认真的读几本c++的经典才是最实在的,言归正传。1.const的基本使用,修饰变量,修饰函数参数。 1)修饰变量char greeting[] = "Hello";char name[] = "cxue";char* const p = greeting;p = name; //不合法的,地址不能改变 *p= 'x'; / 阅读全文
摘要:
今天意外的发现的一个命令nautilus /media/会以窗口的形式打开某个目录,以后写脚本可以用到。 阅读全文
摘要:
首先打开ubuntu的网络配置文件sudo vi /etc/network/interfaces添加下面的内容:auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 192.168.100.198netmask 225.225.225.0gateway 192.168.100.1 配置DNS:vi /etc/resolv.confnameserver 192.168.100.1 阅读全文
摘要:
最近学了点java基础,在遇到import和package部分时看了几遍视频,还是有点糊涂,今天亲自做了一下实验,恍然大悟,下面分享给大家:java的package的作用类似于c++的namespace的作用,防止名字相同的类产生冲突,这不是我们想要的。看一下package的使用。我在路径为E:\java\testpackage\下写一个cat.java文件如下:package com.cxue;public class Cat {}编译通过下面我们在相同的目录下写一个Dog类来掉用Cat类如下:public class Dog { public static void main(Strin. 阅读全文
摘要:
1.尽可能的用const、enum、inline替代#define 或者说“宁可用编译器处理也不会让预处理器处理好”。用const double AspectRatio = 1.653 替代 #define ASPECT_RATIO 1.653理由:AspectRatio是编译器实实在在看到的变量,编译时如果有误操作能够通过编译提示快速定位。2.定义指针常量时应该const char* const name = “cxue”3.在类中定义常量时class A{ private: static const int Number = 100; .....}理由:首先... 阅读全文
摘要:
最近一直在用ubuntu系统,感觉不错,今天发现ubuntu没有安装nfs,下面是nfs的安装过程:1.sudo apt-get install nfs-kernel-server2修改配置文件,我设置的共享目录是/home/administrator/Publicvi /etc/exports在文件中加入下面一句话/home/administrator/Public *(sync,rw)3.启动nfssudo /etc/init.d/nfs-kernel-server restart 阅读全文
摘要:
今天面试碰到了这道题,很郁闷,没写。今天参考了一下博客园一位仁兄的总结,自己在总结一遍。strcpy和memcpy都是标准c库函数,它们有如下特点:strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。strcpy的函数原型是:char *strcpy(char* dest,const char*src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。memcpy的函数原型是void *memcpy(void *dest,const void*str,size_t count);下面来看 阅读全文
摘要:
很早接触过冒泡排序法,但一直没有真正的理解,只是为了记住而学习,今天又重新看了一下,其实冒泡排序法第一次排序会把最大的冒到最上面,第二次会把次大的泡冒到最大的后面,一次类推····,另外在排序的次数上会逐渐减少。看代码:void bubble_sort(int *a,int n){ for(int i=0;i<n;i++) for(int j = 1;j<n-i;j++) { if(a[j-1]>a[j]) swap(&a[j-1],&a[j]); }}其实还可以优化一下,当发现没有进行交换证明... 阅读全文