C++
双之城
额外去惹人王企鹅
展开
-
构造、友元
#include #include #include #include #include using namespace std;class Sales_data{ //friend Sales_data add(const Sales_data &lsh, const Sales_data &rsh);public: Sales_data() = default原创 2017-04-25 10:43:33 · 197 阅读 · 0 评论 -
宏定义和内联函数的区别
。。。。。。。。。。。。。。。原创 2018-07-04 15:04:38 · 258 阅读 · 0 评论 -
C++ 类型转换(强制类型转换)
C++四种类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast1、static_cast 2、dynamic_cast3、const_cast4、reinterpret_cast...原创 2018-06-28 19:37:49 · 457 阅读 · 0 评论 -
#define 和 const 区别
const定义的常数是变量,需要带类型; #define定义的只是常数,不带类型#define在编译的预处理阶段起作用;const在编译、运行时起作用#define只是简单的字符串替换,没有类型检查;const有对应的类型检查,需要进行判断;const不能重新定义;#define可以通过#undef取消某个符号的定义,再重新定义;#define可以用来防止头文件重复引用;const不能参考链接:h...原创 2018-07-04 11:06:06 · 170 阅读 · 0 评论 -
悬空指针和野指针
悬空指针:它曾经指向一个有效地址,但是现在不再指向有效地址(个人添加,其实就是原来的那块地址不能通过这个指针区访问了)。这通常是因为指针所指的内存单位被释放了并且不再有效了。空悬指针存在并没有什么问题,除非你尝试通过这个指针访问指向的地址空间。不遗留任何悬空指针总是最好的实践方式。野指针:它没有被正确的初始化于是指向一个随机的内存地址。存在野指针是一个严重的错误。原文链接:https://blog...转载 2018-07-02 15:29:04 · 630 阅读 · 0 评论 -
C++ 友元(友元函数和友元类)
友元的作用:提高了程序的运行效率(使得普通函数可以直接访问类的保护数据,避免了类成员函数的频繁调用,即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。在C++中友元可以使友元函数也可以是友元函数友元函数:友元函数是可以直接访问类的私有成员的非成员函数。是定义在类外的普通函数,不属于任何类,但需要在类的定义中声明,声明时在函数前加fri...原创 2018-05-22 14:40:11 · 589 阅读 · 0 评论 -
sizeof 使用
#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;class A{};class B{};class C:public A,public B{};class D:virtual public A{}...原创 2018-05-15 21:55:44 · 213 阅读 · 0 评论 -
Tinyhttpd源码--实现http服务器
本文参考:Tinyhttpd运行:进入到tinyhttpd-0.1.0_for_linux目录cd htdocssudo chmod 600 index.html register.htmlsudo chmod 764 color.cgi check.cgi register.cgimake./httpd在浏览器上输入:127.0.0.1:port...原创 2018-05-21 20:43:21 · 470 阅读 · 0 评论 -
模板类可以使用虚函数,模板函数不能是虚函数
1、普通的类中怎么使用虚函数,模板类中也可以这么使用虚函数 不过需要注意的是使用模板类定义不同的类型则是两个完全不同的类。2、模板函数不能是虚函数 编译器期望在处理类定义的时候就能确定虚函数表的大小,如果允许有类的虚成员模板函数,那么就必须要求编译器提前知道程序中国有对该类的该虚成员模板函数的调用,而这时不可行的。 实例化模板类时,需要创建virtual tabl...转载 2018-05-15 12:47:30 · 9569 阅读 · 0 评论 -
C++11新标准 default 和 delete的使用
写这个知识点的初衷也是在面试的时候被问到过的,由于对C++11新标准不是很了解,所以你懂得。。。,好了不多说了C++11 使用delete关键字作用是显示指示编译器不生成函数的默认版本...原创 2018-05-21 18:44:21 · 660 阅读 · 0 评论 -
C/C++语言函数中参数的入栈顺序
对于函数,之前认为会用就行了,对其中的原理并不是很了解,就比如函数中参数的入栈顺序(在这说明一下,函数的参数是保存在栈中的,还有一些局部变量也是存放在栈中),这个问题来源于某互联网的面试题,当然答得很不好,查了很多大牛的博客做一下总结。#include <iostream>using namespace std;void foo(int x,int y,int z){ co...原创 2018-05-15 11:32:25 · 475 阅读 · 0 评论 -
C++ string
标准类型String 1、直接初始化和拷贝初始化(复制初始化)的区别 直接初始化直接调用与实参匹配的构造函数 复制初始化总是调用复制构造函数,复制初始化首先使用指定构造函数创建一个临时对象,让后用复制构造函数将那个临时对象复制正在创建的对象。所以当复制构造函数被声明为私有时,所用的复制初始化都不能使用。 2、初始化string对象的方式a) string s1原创 2017-12-04 21:40:32 · 192 阅读 · 0 评论 -
C++ primer——vector
Vector1、vector能容纳绝大多数类型的对象作为其元素,但是因为引用不是对象,所以不存在包含引用的vector2、Vector是一个类模板,实例化(1) Vector ivec;(2) Vector Sales_vec;(3) Vector> file;3、定义和初始化vector对象(1) Vector v1;(2) Vec原创 2017-12-21 11:32:13 · 187 阅读 · 0 评论 -
C++
1、C++多态性1)http://blog.csdn.net/dan15188387481/article/details/496673892)http://blog.csdn.net/cnmilan/article/details/7518326原创 2017-08-25 15:00:12 · 164 阅读 · 0 评论 -
类模板非类型形参实现Stack
原创地址:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.htmlTemplateDemo.h#include using namespace std;#ifndef TEMPLATE_DEMO_HXX#define TEMPLATE_DEMO_HXXtemplate class Stack{private原创 2017-08-09 11:20:54 · 232 阅读 · 0 评论 -
String类实现
#include <iostream>#include <cstring>using namespace std;class String{public: String(const char *str = NULL){ if (!str){ length = 0; m_data = new c...原创 2018-07-15 13:11:14 · 131 阅读 · 0 评论