c/c++
文章平均质量分 54
kyowill
这个作者很懒,什么都没留下…
展开
-
类的赋值初始化
#include #include #include #include #include #include #include #include using namespace std;class base{public: base() { cout << "*" << endl; } base(int n)原创 2015-09-27 21:08:33 · 566 阅读 · 0 评论 -
全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
1.生存周期不同 全局变量:全局区(静态区)(static):全局变量和静态变量是存储在一起的,初始化过的全局变量和静态变量在同一块区域,未初始化的全局变量和静态变量存放在一块相邻的区域内。此区域由系统在程序结束后释放 局部变量: 放在堆栈中。由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2.作用范围不同 全局变量具有全局作用域。全局变量只需在一个源原创 2015-09-05 22:11:24 · 8837 阅读 · 0 评论 -
scanf用法
int main(int argc,char* argv[]){ while(1) { int n; scanf("%d", &n); fflush(stdin); char buf[1024]; vector svec; vector vec;原创 2015-09-08 10:17:06 · 367 阅读 · 0 评论 -
sizeof求结构体所占空间大小
在32位机器上设有以下说明和定义:1234567891011typedef union { long i; int k[5]; char c;} DATE;struct data原创 2015-09-05 14:03:17 · 1606 阅读 · 0 评论 -
引用与指针有什么区别?
1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变;4. 引用没有 const,指针有 const;5. 引用不能为空,指针可以为空;6. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址原创 2015-09-05 22:13:29 · 1320 阅读 · 0 评论 -
const char*, char const*, char*const的区别
const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有,只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 char * const cp; ( * 读成 pointer to转载 2015-09-04 21:36:55 · 273 阅读 · 0 评论 -
什么函数不能声明为虚函数?
1,静态成员函数不可以是虚函数,因为静态成员函数全局通用,不受限于某个具体对象2,构造函数不可以是虚函数,虚函数主要是针对对象而言,而构造函数是在对象创建之前,所以构造函数的虚函数是没有意义的3,内联函数不可以是虚函数,因为内联函数不能再运行中动态确定其位置原创 2015-09-05 22:09:26 · 666 阅读 · 0 评论 -
友元的用法
#include #include #include #include #include #include #include using namespace std;class base;class derive;class base{public: base():n_(0)//初始化,不是赋值 { printf("base\n");原创 2015-09-20 16:39:29 · 344 阅读 · 0 评论 -
程序的内存布局
原创 2015-09-08 15:21:11 · 344 阅读 · 0 评论 -
shared_from_this
转载自http://blog.csdn.net/salutlu/article/details/12515877陈硕的muduo代码库的里面的TcpConnection用到了enable_shared_from_this这个基类,今天查了一下,这个基类提供了一个shared_from_this()公用方法可以让子类内部获取到shared_ptr的对象,用来用在类实现过程中需要传递自身指针的地方转载 2015-11-07 19:16:34 · 553 阅读 · 0 评论 -
右值引用
#include #include using namespace std;class People{public: People() { cout << "People()" << endl; } People(const string &name) : name_(name) { cout << "原创 2015-10-02 23:33:27 · 453 阅读 · 0 评论 -
weak_ptr的用处
看到一篇关于weak_ptr的好文weak_ptr是为配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手,而不是一个智能指针。它的最大作用在于协助shared_ptr工作,像旁观者那样观测资源的使用情况。weak_ptr被设计为与shared_ptr协同工作,可以从一个shared_ptr或者另外一个weak_ptr对象构造,获得资源的观测权限。但weak_p转载 2015-10-03 18:22:05 · 2086 阅读 · 0 评论 -
函数适配器
#include #include #include #include using namespace std;void foo(const string &s){ cout << s << endl;}int main(int argc, const char *argv[]){ void (*pFunc) (const string &) = &foo;原创 2015-10-02 21:44:11 · 411 阅读 · 0 评论 -
shared_ptr
using namespace std;class Test{public: Test() { cout << "Test" << endl;} ~Test() { cout << "~Test" << endl;}private: Test(const Test &); void operator=(const Test &);};int mai原创 2015-10-02 22:28:05 · 281 阅读 · 0 评论 -
unique_ptr
#include #include #include #include using namespace std;class Test{public: Test() { cout << "Test" << endl;} ~Test() { cout << "~Test" << endl;}};int main(int argc, const char *argv原创 2015-10-02 22:25:46 · 349 阅读 · 0 评论 -
数组名与指针
char ga[] = "aaa";int main(int argc, char** argv){ printf("addr of global array = %#x \n", ga); printf("addr of global array = %#x \n", &ga); return 0;}addr of global array = 0x804c07c原创 2015-12-06 15:43:25 · 344 阅读 · 0 评论