• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我是张洪铭我是熊博士
时光静好,与君同;细水长流,与君语
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  C/C++编程

上一页 1 2 3 4 5 6 7 下一页
单例模式 例子代码

摘要:单例模式:保证整个工程中,有且只有一个该类的一个实例对象存在 1 2 3 2018.3.22 注意:多线程中使用,需要修改 ,加:在instance函数中加双重锁 阅读全文
posted @ 2018-03-22 15:10 我是张洪铭我是熊博士 阅读(1502) 评论(0) 推荐(0)
NULL头文件

摘要:#include<stddef.h> 阅读全文
posted @ 2018-03-22 14:35 我是张洪铭我是熊博士 阅读(879) 评论(0) 推荐(0)
fatal error C1010: unexpected end of file while looking for precompiled header directive

摘要:在编译VS时候,出现fatal error C1010: unexpected end of file while looking for precompiled head。 问题详细解释:致命错误C1010,在寻找预编译指示头文件时,文件未预期结束。就是没有找到预编译指示信息的头文件。 顾名思义就 阅读全文
posted @ 2018-03-22 14:34 我是张洪铭我是熊博士 阅读(665) 评论(0) 推荐(0)
禁止或强制使用堆分配---《C++必知必会》 条款34

摘要:有时候,指明一些特定类的对象不应该被分配到堆(heap)上是个好主意。通常这是为了确保该对象的析构函数一定会得到调用。维护对象本身(body object)的引用计数的句柄对象(handle object)就属于这种对象。具有自动存储区的类的局部对象,其析构函数会被自动调用(exit 或abort发 阅读全文
posted @ 2018-03-20 17:34 我是张洪铭我是熊博士 阅读(210) 评论(0) 推荐(0)
制造抽象基类--《C++必知必会》 条款33

摘要:抽象类,含有纯虚函数的类,不可以创建对象。 然而,有时我们并不需要某个函数定义为纯虚函数,但是任然希望此类像抽象类一样,不可以创建对象。 方法1:通过确保类中不存在共有构造函数来模拟抽象基类的性质。意味着,我们必须至少显示地声明一个构造函数和一个复制构造函数,防止编译器隐式公有的内联的构造函数。声明 阅读全文
posted @ 2018-03-20 16:44 我是张洪铭我是熊博士 阅读(144) 评论(0) 推荐(0)
禁止复制操作 --《C++必知必会》条款32

摘要:class NoCopy{ private: //声明为私有的,则外部不可访问,即:不可复制 NoCopy(const NoCopy & );//复制构造函数 NoCopy & operator=( const NoCopy &);//复制赋值操作符 }; 阅读全文
posted @ 2018-03-20 16:28 我是张洪铭我是熊博士 阅读(182) 评论(0) 推荐(1)
协变返回类型---《C++必知必会》 条款 31

摘要:一般来说,一个重写的函数与被它重写的函数具有相同的返回类型。 然而,这个规则对于“协变返回类型(covariant return type)“的情形来说有所放松。也就是说,如果B是一个类类型,并且一个基类虚函数返回B*,那么一个重写的派生类函数可以返回D*,其中的D共有派生于B(即D是一个(is a 阅读全文
posted @ 2018-03-20 15:54 我是张洪铭我是熊博士 阅读(189) 评论(0) 推荐(0)
VC中加载LIB库文件的三种方法

摘要:VC中加载LIB库文件的三种方法 在VC中加载LIB文件的三种方法如下: 方法1:LIB文件直接加入到工程文件列表中 在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add Files to Project"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件即可。 方法2 阅读全文
posted @ 2018-03-14 11:24 我是张洪铭我是熊博士 阅读(885) 评论(0) 推荐(0)
#pragma once

摘要:来自:百度百科 #pragma once #pragma once是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。 #pragma once是编译器相关的,有的编译器支持,有的编译器不支持,具体情况请查看编译器API文档,不过现在大部分编译器都有这个杂 阅读全文
posted @ 2018-03-14 09:44 我是张洪铭我是熊博士 阅读(223) 评论(0) 推荐(0)
C++中定义NULL的头文件

摘要:NULL不是C语言基本类型,其定义在stddef.h文件中,作为最基本的语言依赖宏存在。但是随着C/C++的发展,很多文件只要涉及了系统或者标准操作都会将NULL作为标准宏声明或者包含。所以几乎包含任意的C++标准头文件都会把这个宏引入。 其定义在cstddef文件中。 其实编译器有内置的NULL类 阅读全文
posted @ 2018-03-12 15:07 我是张洪铭我是熊博士 阅读(899) 评论(0) 推荐(0)
c++11 类默认函数的控制:"=default" 和 "=delete"函数 void fun() = default; void fun()=delete;

摘要:转自:lsgxeva#define _CRT_SECURE_NO_WARNINGS #include #include #include #include //c++11 类默认函数的控制:"=default" 和 "=delete"函数 /* C++ 的类有四类特殊成员函数,它们分别是:默认构造函数、析构函数、拷贝构造函数以及拷贝赋值运算符。 这些类的特殊成员函数负责创建、初始化... 阅读全文
posted @ 2018-03-12 14:53 我是张洪铭我是熊博士 阅读(486) 评论(0) 推荐(0)
make clean 与 make distclean 的区别

摘要:make clean仅仅是清除之前编译的可执行文件及配置文件。 而make distclean要清除所有生成的文件。 Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作: make 根据Makefile编译源代码,连接,生成目标文件,可执行文件。 阅读全文
posted @ 2018-03-12 09:44 我是张洪铭我是熊博士 阅读(202) 评论(0) 推荐(0)
实参相依查找[条款25]----《C++必知必会》

摘要:名字空间对现代C++编程和设计有着深远的影响。其中有些影响直接而明显,例如using声明和using 指令以及采用名字空间作用域加以限定的名字。然而,名字空间还有一些在语法上不那么明显但任然很有基础、很重要的影响。实参相依的查找(Argument Dependent Lookup ADL)就是其中之 阅读全文
posted @ 2018-03-09 18:18 我是张洪铭我是熊博士 阅读(130) 评论(0) 推荐(0)
成员函数查找[条款24]---《C++必知必会》

摘要:调用一个成员函数,涉及三个步骤:第一步,编译器查找函数的名字;第二部,从可用候选者中选择最佳匹配函数;第三步,检查是否具有访问该函数的权限。 分析: 步骤1:查找函数的名字。因为我们正在调用一个D对象的成员,所以将从D的作用域开始查找并且立即定位到D::f上。 步骤2:从可用的候选者中选择最佳的匹配 阅读全文
posted @ 2018-03-09 17:40 我是张洪铭我是熊博士 阅读(187) 评论(0) 推荐(0)
C++匿名名字空间

摘要:转自:http://blog.csdn.net/eric_arrow/article/details/8978905 名字空间(namespace),是C++提供的一个解决符合名字冲突的特性。标准规定,在不同名字空间中命名相同的符号,代表不同的实体。通常,利用定义名字空间的办法,可以使模块划分更加方 阅读全文
posted @ 2018-03-08 12:23 我是张洪铭我是熊博士 阅读(409) 评论(0) 推荐(0)
程序界面多语言切换功能如何实现

摘要:VC++ 通过INI配置文件,实现多国语言切换界面 1、针对界面控件上的字符,为不同语言做一个INI文件,如:Chinese.ini,English.ini 2、新建一个用于初始化界面的函数: void InitLanguage(int nLanguage);//初始化界面语言 void CLang 阅读全文
posted @ 2018-03-08 10:11 我是张洪铭我是熊博士 阅读(2851) 评论(0) 推荐(0)
C 语言中 define 的全部使用方法总结

摘要:http://blog.jobbole.com/108624/ http://blog.chinaunix.net/uid-29067889-id-3819834.html 阅读全文
posted @ 2018-03-07 15:19 我是张洪铭我是熊博士 阅读(242) 评论(0) 推荐(0)
#if defined(__cplusplus)

摘要:由于C++编译器需要支持函数的重载,会改变函数的名称,因此dll的导出函数通常是标准C定义的。这就使得C和C++的互相调用变得很常见。但是有时可能又会直接用C来调用,不想重新写代码,让标准C编写的dll函数定义在C和C++编译器下都能编译通过,通常会使用以下的格式:(这个格式在很多成熟的代码中很常见 阅读全文
posted @ 2018-03-07 15:17 我是张洪铭我是熊博士 阅读(716) 评论(0) 推荐(0)
函数对象[条款18]---《C++必知必会》

摘要:有时需要一些行为类似于函数指针的东西,但函数指针显得笨拙、危险而且过时(让我们承认这一点)。通常最佳方式是使用函数对象(function object)取代函数指针。 与智能指针一样,函数对象也是一个普通的类对象。智能指针类型重载 -> 和 * (可能还有 ->* 和 .*)操作符,来模仿指针的行为 阅读全文
posted @ 2018-03-05 17:40 我是张洪铭我是熊博士 阅读(319) 评论(0) 推荐(0)
C++ error C2064:

摘要:error C2064: term does not evaluate to a function 错误原因,非函数,当成函数使用了 阅读全文
posted @ 2018-03-05 15:59 我是张洪铭我是熊博士 阅读(593) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 下一页
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3