- 博客(11)
- 资源 (9)
- 收藏
- 关注
原创 杂项-cpp
c++ 写完代码到能跑起来,要经过编译 链接 。我们的.cpp .h 被称为源代码,给人看的,机器现在还看不懂,所以需要编译器把源码转成机器能看懂的object file,最后由链接器把多个object file组合成一个exe可执行文件。在写编程中必然会遇到以下几类错误: 编译时错误(编译器找到的错误,eg:语法错误等) 链接时错误(eg:库冲突) 运行时错误(eg:逻辑错误)。一般来说 编
2016-10-28 10:57:12 591
原创 something new
新的写法说明:以下都是记录日常中遇到的一些很少见到过的写法,时代在进步,c++在发展,下面有些可能是新写法,也有可能是老写法。new(space){t};说明: 在a tour of c++中有这么一个写法template<typename T>void Vector<T>::push_back(const T& t){ if (capacity()<size()+1)
2016-10-25 17:44:07 483
原创 输入输出流
ostream将类型对象转换成字节/字符流 istream将字节/字符流转换成类型对象<< put to>> get fromiostream提供了大量的操作来处理输入输出格式,这些格式控制被称为操作符(manipulators),eg:一个int以整形、二进制、十六进制输出文件的fstream 字符串的stringstream都是比较常用的
2016-10-25 13:41:55 449
原创 templates
啥是模版? 把类型或是值当成参数的类或是函数。template<typename T>class A{public: explicit A(int s); ~A(){ delete [] e; } T& operator[](int i); const T& operator[](int i) const; int size() const { retu
2016-10-24 16:50:08 395
原创 类的简述
c++的语言特性支持oop和gp编程。 oop是指面向对象编程。gp是指泛型编程。c++的核心特征就是class 一个好的class应满足以下条件:正确、 易维护、高效、优雅、易使用、易读、易理解实体类、抽象类、类继承是class的三大基础模块实体类 如果她的行为看起来像一个内置类型,就可以称为实体类 eg:vector string 看起来像一个内置类型,除此之外她的行为更丰富容器:一个对
2016-10-21 14:17:48 419
原创 && 右值引用
c++11中的新概念,主要解决了移动语义和完美转发我们平常使用的引用都是指左值引用。 以下是我经常用到的手法: void func( int& v); void func( std::string& s);下面是一个测试例子// ===================================================================================
2016-10-20 17:51:39 5729 1
原创 c++的overload override overwrite 你真的懂了吗
以下是对C++中overload,override,overwrite的区别进行了详细的分析介绍,需要的朋友可以过来参考下Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。 (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。Overri
2016-10-19 11:37:13 834
原创 c++模块化的简要说明
c++包含了很多单独的开发部分:函数、自定义类型、类继承、模版 c++中有一个概念:单独编译(将声明和定义分别放在.h和.cpp文件中),严格的将,单独编译不是c++语言的讨论问题,而是“为了更好的使用c++”的讨论 为了更大的模块化,在逻辑上通过c++语言特征来实现;在物理上通过更有效的独立编译方式来实现。命名空间可以有效地防止命名冲突 在大型的程序组件编程时(eg:库),namespace
2016-10-17 14:12:08 5644
原创 自定义类型
c++语言分两部分,语言核心和标准库 c++已经为我们提供了一些基本类型,我们可以通过这些基本类型构建复杂的类型 c++提供的内置类型和操作非常丰富,也很low-level(基本:直接、高效,这些操作反应了计算机常规能力) 利用这些内置类型和操作 + 抽象机制 = everything抽象机制是为了让程序员设计和实现自定义的类型(有合适的表示和操作),并且可以非常简单非常优雅地使用这个类型。除
2016-10-14 13:35:51 536
原创 指针 数组 引用
基础知识罗列 char v[6]; char* p; [] 表示 array of *表示pointer to 数组的大小应该是一个constant表达式一元* 表示 contents of 一元&表示 address of除了以前学过的for循环 新标准增加了一种可以range-for语句:int v[] = {1, 2, 3};for (auto x : v){ std
2016-10-13 14:56:49 476
原创 c++的const和constexpr
c++有两种常量: 一种是const:“i promise not to change this value” 一种是constexpr:”to be evaluated at compile time”const 这种值可以在编译时或是运行时赋值,但constexpr的值只能在编译器确定他们两的侧重点不同,就如上面英文写的那样 const侧重于值不变;constexpr侧重于编译期就确定值还
2016-10-13 14:13:46 4275
video_preview
2017-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人