
c++
文章平均质量分 50
HandsomeWGB
高起点
展开
-
C++模板之函数模板
泛型编程 编写与类型无关的逻辑代码,是代码复用的一种手段。模板是泛型编程的基础模板 代表一个函数家族,该函数与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本(它本身不是类或函数)模板函数的格式模板的实例化 产生模板特定类型的过程称为函数模板的实例化template <typename T>T Add(T left,T right){ return lef原创 2017-03-18 10:39:17 · 7274 阅读 · 1 评论 -
命名空间
为什么需要命名空间? 引入命名空间,用来处理程序中常见的同名冲突什么是命名空间? 一个由程序设计者命名的内存区域 根据需要指定一些有名字(或无名)的空间区域,将一些全局实体放在里面,与其他全局实体分隔开 创建命名空间//有名的命名空间namespace ns//-->空间名{ //函数、类、结构体、模板、变量、常量}//无名的命名空间namespace{原创 2017-03-28 18:22:24 · 345 阅读 · 0 评论 -
C++异常处理
异常处理 事先分析程序运行时可能出现的各种意外情况,并且分别制定相应的处理方法异常处理的方法 C++异常机制组成:try(检查),throw(抛出),catch(捕捉) void Test(){ throw 1;}void Test1(){ try { Test(); } catch(int) {原创 2017-03-28 21:00:47 · 426 阅读 · 0 评论 -
多态(C++)
多态概念&作用多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。 静态多态:编译器在编译期间完成,编译器根据函数实参的类型(可能会进行隐式类型转换),可推断出要调用哪个函数原创 2017-03-13 17:23:47 · 676 阅读 · 0 评论 -
从尾到头打印单链表
从尾到头打印单链表其实就是后进先出,而栈(stack)就是后进先出的,从而可以利用栈来实现逆序打印单链表//定义链表节点typedef struct ListNode{ int data; struct ListNode * next;}Node,*PNode,**PPNode;利用栈实现#include<iostream>#include<stack>//使用栈必须包含原创 2017-03-31 18:05:04 · 432 阅读 · 0 评论 -
容器配接器(stacks)
stack(堆栈)的简单使用#include<iostream>#include<stack>using namespace std;int main(){ stack<int> st; stack<int> st1; st.push(1);//入栈 st.push(2); st.push(3); st1.push(1);//入栈 st1原创 2017-03-31 20:19:49 · 489 阅读 · 0 评论 -
内存管理
内存分配方式从静态存储区域分配 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。(全局变量,静态变量)在栈上创建 在函数执行时,函数内部局部变量的存储单元都可以在栈上创建,函数执行结束自动释放。(效率高,但分配的内存空间有限)从堆上分配,亦称动态内存分配 使用malloc/new等申请的空间,用free/delete等释放,用户自己管理。C语言中动态内存管理vo原创 2017-03-17 18:34:49 · 379 阅读 · 0 评论 -
命令行参数的获取
时不时我们会遇到对命令含参数的处理,如果参数个数较多,按照顺序处理有可能会出现错误或者一些可选参数将不能实现,接下来介绍几个处理命令行参数的函数getopt#include <unistd.h>int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;//带值参原创 2017-08-11 17:19:05 · 1055 阅读 · 0 评论