c++基础
zky1347888
这个作者很懒,什么都没留下…
展开
-
c++编译包含头文件问题
c++ #inclide "xxx.h"连接的时候,会把函数声明包含进来,编译的时候,c++会根据函数声明找到这个函数的定义 直接写这个void func(); 和#include “x.h”效果是一样 , 并没有使 main.cpp 和x.cpp 直接连接到一起,是最后由编辑器链接起来extern 一样的 不过包含文件,会自动查找 全局定义static 静态原创 2013-11-16 17:01:08 · 1192 阅读 · 0 评论 -
C++隐式转换与显式转换
普通类型的转换顺序:隐式把char——>int和从short——>double。转换可能会导致数据的丢失。自定义类型:有两种函数可以进行隐式转换,单参数构造函数 和 隐式类型转换符。自定义类型可以用函数前+ explicit 关键字,防止转换。单个参数的构造函数,或可传单个参数的类构造函数Example 1:class things{ public原创 2016-04-10 12:04:58 · 6456 阅读 · 0 评论 -
C++智能指针与返回局部指针测试
智能指针:对new对象进行智能的管理,跳出相关作用域会自动删除。 不需要再调用delete。对象删除会自动调用析构函数。这里只记录:unique_ptr 与shared_ptr auto_ptr已经被unque_ptr替换 weak_ptr不是特别常用。unique_ptr 是唯一的智能指针管理,同时只有一个记录,不可直接等于,通过std::move转换给另一个智能指针原创 2016-04-02 09:26:10 · 3803 阅读 · 1 评论 -
C++ 值传递、指针传递、引用传递详解
最近写了几篇深层次讨论数组和指针的文章,其中提到了“C语言中,所有非数组的形式参数传递均以值传递形式”数组和指针背后——内存角度语义"陷阱"---数组和指针而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~下文会通过例子详细说明哦值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度转载 2016-02-19 16:11:56 · 867 阅读 · 1 评论 -
开发者都应该使用的10个C++11特性
原文:http://my.oschina.net/xlplbo/blog/343242auto 在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名空间中,程序块中,或是for循环的初始化语句中。?转载 2016-01-27 19:14:41 · 1033 阅读 · 0 评论 -
c++11新特性--Lambda表达式
Lambda表达式:lambda表达式允许你在本地定义函数,即在调用的地方定义,从而消除函数对象产生的许多的安全风险,Lambda表达式格式:[capture](parameters)->return-type {body} capture 为lambda表达式内部可以引用的外部变量 [&Uppcercase] 必须为引用类型parameters 为lambda表达式 的原创 2014-06-11 15:52:11 · 1095 阅读 · 0 评论 -
c++类型占字节
1. c语言中的整数类型有char, short, int, long等几种, 下面是C语言对每种数据类型长度的规定:(a). short和long类型的长度不相同(b). int类型通常同具体机器的物理字长相同(c). short通常是16bits, int通常是16bits or 32bits每种编译器可以根据硬件的不同自由确定, 但是short和int必须最少是16bits, 而原创 2014-03-07 09:39:26 · 1714 阅读 · 0 评论 -
C++中的static关键字
原文:http://blog.csdn.net/hackbuteer1/article/details/7487694C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量转载 2014-06-07 09:40:40 · 780 阅读 · 0 评论 -
线程与进程(c++ windows)
关于线程与进程的解释:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html原创 2014-05-12 09:33:33 · 1020 阅读 · 0 评论 -
C++创建静态链接库
1. 在“文件”菜单中,选择“新建”,然后选择“项目”。2. 在“项目类型”窗格中,选择“Visual C++”下的“Win32”。3. 在“模板”窗格中,选择“Win32 控制台应用程序”。4. 为项目选择一个名称(例如 MathFuncsLib),并将该名称输入“名称”字段。 为解决方案选择一个名称(例如 StaticLibrary),并将该原创 2013-12-16 10:45:55 · 1885 阅读 · 0 评论 -
C++中四种类型转换方式
原文:http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/23/2652696.htmlC++中四种类型转换方式类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把转载 2013-12-19 18:50:35 · 1293 阅读 · 0 评论 -
for_each的用法
for_each的用法原文地址:http://blog.csdn.net/hionceshine/archive/2008/11/19/3336318.aspxAbstract之前在(原創) 如何使用for_each() algorithm? (C/C++) (STL) 曾經討論過for_each(),不過當時功力尚淺,只談到了皮毛而已,這次看了effective STL的转载 2013-12-18 12:11:12 · 1149 阅读 · 0 评论 -
VS路径宏说明
$(RemoteMachine) 设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。 $(References) 以分号分隔的引用列表被添加到项目中。 $(ConfigurationName) 当前项目配置的名称(例如“Debug”)。 $(PlatformName) 当前项目平台的名称(例如“Win原创 2013-12-17 21:14:47 · 1227 阅读 · 0 评论 -
C++创建动态链接库(*.dll)
1. 从“文件”菜单中,选择“新建”,然后选择“项目…”。2. 在“项目类型”窗格中,选择“Visual C++”下的“Win32”。3. 在“模板”窗格中,选择“Win32 控制台应用程序”。4. 为项目选择一个名称,如 MathFuncsDll,并将其键入“名称”字段。 为解决方案选择一个名称,如 DynamicLibrary,并将其键入“解原创 2013-12-17 11:18:32 · 2307 阅读 · 0 评论 -
C++(创建和使用托管程序集)
托管程序集是一种库,您可以创建该库以便高效地重用代码。 这样,就不必在多个程序中重新实现同样的例程,而只需编写这些例程一次,然后在需要该功能的应用程序中引用它们即可。创建类库项目:1. 在“文件”菜单上指向“新建”,然后单击“项目”。2. 在“项目类型”窗格中,选择“Visual C++”下的“CLR”。此组中的每个项目类型都将创建一个面向公共语言运原创 2013-12-17 20:32:22 · 4788 阅读 · 0 评论 -
UTF8编码问题
UTF8最好不要带BOM,附许多经典评论UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM。所以不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯(顺便提一下:把带有 BOM 的小端序 UTF-16 称作「Unicode」而又不详细说明,这也是微软的习惯)。BOM(byte orde原创 2016-11-19 14:46:46 · 1497 阅读 · 0 评论