printf输出格式总结

  printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。 1 printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在...

2018-08-29 00:07:59

阅读数:79

评论数:0

C++ operator关键字(重载操作符)

  operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,“功能”都是由函...

2018-08-28 22:51:58

阅读数:27

评论数:0

C++ 友元(友元函数、友元类和友元成员函数)

  有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的。例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。 友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以friend开始,它只能出现在类定...

2018-08-28 22:12:16

阅读数:24

评论数:0

三种继承的方法:public 继承/private继承/protected继承详解及区别

1 三种继承方式    (1) 公有继承(public)    公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。   (2) 私有继承(private)  ------------------默认的...

2018-08-27 23:59:12

阅读数:29

评论数:0

NVI( Non-Virtual Interface )

  1 简介 在标准C++库中我们可以看到这样的一个现象: 6个公有虚函数,并且都是std::exception::what()和其重载。 142个非公有虚函数。 这样设计的目的何在呢,为什么“多此一举”的把虚函数设置为非公有呢? 这就是NVI机制要求的:将虚函数声明为非公有,而将公有...

2018-08-27 23:33:38

阅读数:47

评论数:0

C++ 常量折叠(常量替换)

  1 概念   1.1 C++ 1.1.1 const 代替 #define const最初动机就是代替 #define。 const 优于 #define:  (1) #define没有类型检查,const在编译期(而不是预编译期)做类型检查。 (2) const方便调试和定位bu...

2018-08-26 23:02:56

阅读数:39

评论数:0

Double 与 Float 的值的比较问题分析

  首先看两个程序: 程序1:   #include<stdio.h> int main() { float x = 0.1; if (x == 0.1) { printf("IF\n&...

2018-08-26 12:25:40

阅读数:53

评论数:0

Makefile经典教程(掌握这些足够)

  makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业...

2018-08-25 12:31:38

阅读数:47

评论数:0

自动生成Makefile的全过程详解

备注:(1) automake 读取 Makefile.am 来产 生 Makefile.in, (2) configure 读取 Makefile.in 来产生 Makefile (3) configure 脚本通常由 autoconf 读取 configure.in 产生 目的就是让程序员只...

2018-08-24 23:54:09

阅读数:53

评论数:0

二维数组元素的地址

   一维数组元素的地址大家都比较容易理解,但对于二维数组,就很容易搞混了.今天我又被这个问题给弄糊涂了,翻了翻老谭的书本,对这个问题有了更深的认识.   首先给出一个二维数组a,它的定义为:   int a[3][4] = {{1,3,5,7}, {9,11,13,15}, {17,...

2018-08-21 22:18:38

阅读数:26

评论数:0

为什么有的操作符重载函数只能是成员函数?

  1 概念   (1) 不能重载的运算符只有5个: . ( 成员访问运算符 ) .* ( 成员指针访问运算符 ) :: ( 域运算符 ) sizeof ( 长度运算符 ) ?: ( 条件运算符 )...

2018-08-20 23:18:09

阅读数:39

评论数:0

结构体, enum, union 内存对齐

  1 概念   (1) struct结构体变量大小等于结构体中的各个成员变量所占内存大小总和。 (2) union共用体变量大小等于共用体结构中占用内存最大的成员的内存大小。 (3) enum枚举类型(4个字节),指一个被命名的整型常数的集合。即枚举类型,本质上是一组常数的集合体,只是...

2018-08-19 16:33:41

阅读数:37

评论数:0

类或者结构体用无参构造函数创建对象时不需要带括号, 否则会当成函数声明

  实例1: 类     #include <iostream> using namespace std; class Test { public: Test() { } Test(int) { } void f...

2018-08-19 15:50:47

阅读数:69

评论数:0

C/C++数组初始化的一些误区

  以前我这样初始化一个数组,并自我感觉良好:   int a[5] = { 0 }; // 全部初始化为0   这种简单的写法让我非常爽,于是我又想把数组全部初始化为1:   int a[5] = { 1 }; // 我想全部初始化为1   直到十分钟前,我...

2018-08-19 15:34:25

阅读数:36

评论数:0

C++ 如何限制一个类对象只在栈(堆)上创建

  1 概述 昨天一个同学去网易面试C++研发,问到了这么一个问题:如何限制一个类对象只在栈(堆)上分配空间? 一般情况下,编写一个类,是可以在栈或者堆分配空间。但有些时候,你想编写一个只能在栈或者只能在堆上面分配空间的类。这能不能实现呢?仔细想想,其实也是可以滴。 在C++中,类的对象建...

2018-08-19 14:49:51

阅读数:51

评论数:0

C++运算符重载形式——成员函数or友元函数

    运算符重载是C++多态的重要实现手段之一。通过运算符重载对运算符功能进行特殊定制,使其支持特定类型对象的运算,执行特定的功能,增强C++的扩展功能。 运算符重载的我们需要坚持四项基本原则:  (1)不可臆造运算符;  (2)运算符原有操作数的个数、优先级和结合性不能改变;  (3)操...

2018-08-19 11:49:49

阅读数:22

评论数:0

++i 与 i++

  ++i 与 i++ 的本质区别是 ++i 操作除 i 之外不涉及新的(隐含的)操作数,而 i++ 则在 i 之外还涉及另一个新的(隐含的)操作数。这个隐含的参数是为了重载区别两个操作符。   效率差别: 如果只是对内建数据类型(如int),两者的差别很小,基本上没有,这个可以从汇编...

2018-08-19 10:20:55

阅读数:18

评论数:0

程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦

    https://blog.csdn.net/v_july_v/article/details/6543438

2018-08-19 00:18:10

阅读数:16

评论数:0

c++内存分配方式

  1 内存分配方式       内存分配方式有三种:        (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。    (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,...

2018-08-18 21:00:30

阅读数:24

评论数:0

C++ Template 基础篇(二):类模板

  Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第二部分。     类模板定义 类模板也是公共逻辑的抽象,通常用来作为容器(例如:vector)或者行为(例如:clonable)的封装。   ...

2018-08-17 23:35:57

阅读数:16

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭