C/C++
ShaoyangWang
不爱格子衫的程序员
展开
-
C++用类名创建对象和new创建对象的区别
C++用类名创建对象和用new创建对象的区别 —、区别: 1.用类名创建对象,是使用的stack空间,而使用new创建对象则使用的heap的空间; 2.使用new创建对象,用完之后必须要delete。并且要把指针置为NULL;用类名创建的对象,使用完后,系统自动销毁,不会存在系统泄露的问题。 3.new创建的对象是使用指针来接受,一处初始化,多处使用。 4.对于频繁使用的场合,不建议使用new...原创 2018-12-25 15:40:43 · 3457 阅读 · 3 评论 -
C++设计模式
边学习边记录。 C++的设计模式主要有23种。主要分三个部分:创建型,结构型和行为型。 一、创建型: 1.单例模式 2.简单工厂模式 3.工厂方法模式 4.抽象工厂模式 5.建造者模式 6.原型模式 二、结构型: 1.适配器模式 2.桥接模式 3.装饰者模式 4.组合模式 5.外观模式 6.享元模式 7.代理模式 三、行为型 1.策略模式 2.模板方法模式 3.观察者模式 4.迭代子模式 5.责任...原创 2019-05-08 11:14:11 · 180 阅读 · 0 评论 -
printf实现可变参数。
printf实现可变参数代码如下: void myPrintf(char *format, ...) { int ret; va_list argv; va_start(argv, format); while (*format != '\0'){ switch (*format) { case '%': if (*(format + 1) == 'c'){ re...原创 2019-05-08 09:30:59 · 738 阅读 · 0 评论 -
strcpy、strncpy、strcat、strncat、strcmp、strncmp、memcpy、memset的实现。
1.strcpy的实现。 a.把src所指向的由NULL结束的字符串复制到dest所指的数组中. b.src和dest所指内存区域不可以有重叠,且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针. c.strcpy是只能对字符串进行拷贝,遇到’\0’结束。如果src的结尾不是‘\0’的话,系统会在src的结尾处自动加一个’\0’. 缺点:没有指定长度,如果dst比较小,就会容易...原创 2019-05-08 10:51:39 · 347 阅读 · 0 评论