博客专栏  >  编程语言   >  C/C++基础

C/C++基础

整理和收集的一些关于C/C++的基础知识

关注
30 已关注
22篇博文
  • C/C++基础概览

    (1) sizeof 在32位系统下,各类型所占字节数 sizeof(char) = 1 sizeof(short) = 2 sizeof(int) = 4 sizeof(unsigned...

    2018-03-03 19:11
    43547
  • C++软件开发中“时间”相关操作全攻略

    1.  时间概念 在日常生活中我们遇到的和时间相关的概念有北京时间、时差、12小时制、24小时制等,在软件开发中我们也经常遇到和时间相关的概念,软件虽说是一个虚拟的事物,但它仍然是来源于生活,不会脱离...

    2017-11-01 00:04
    78171
  • C++ Thunk技术

    一. 使用回调函数时遇到的问题 在使用Win32 API(如CreateThread等)时我们经常需要传入回调函数,这个回调函数不能是类的成员函数,只能是友元函数或静态函数。为了在回调函数中访问某个...

    2018-02-26 11:05
    46884
  • 从汇编的角度分析函数调用过程(1)

    一. 函数参数传递形式 函数的参数传递有2种方式:堆栈方式、寄存器方式。 如果是堆栈方式传递的,就需要定义函数参数在堆栈中的传递顺序,并约定函数被调用之后,由谁来平衡堆栈; 如果是寄存器方式传递...

    2018-02-12 11:08
    65346
  • 从汇编的角度分析函数调用过程(2)

    #include <stdio.h> int add(int a, int b) { int c = 0; c = a + b; return...

    2018-02-12 16:56
    68385
  • C++默认构造函数

    本文围绕3个问题来理解C++的默认构造函数: 什么是默认构造函数? 默认构造函数什么时候被调用? 编译器在什么情况下会生成默认构造函数? 一. 什么是默认构造函数? 我们一般会认为默认构...

    2018-02-08 12:43
    62274
  • C++虚函数表的应用

    我们知道在C++中要调用类的私有方法,我们可以使用友员(friend)的方式。但其实如果我们知道类的定义,完全可以根据该类对象的内存布局来直接调用它的私有函数。 本文作为“C++虚函数实现原理”的后...

    2018-02-11 23:11
    63851
  • C++虚函数的实现原理

    一. 虚函数介绍 C++中的虚函数主要是用来实现多态(面向对象的三大特性之一)的。 下面是一个实现多态的错误例子: // 基类 // class Base { public: Bas...

    2017-11-08 22:49
    78907
  • MSVC编译器Warnings手册

    Warning Number Description C6001 warning C6001: using uninitialized memory C6011 warn...

    2017-11-09 10:59
    257
  • __declspec(noreturn)使用

    __declspec(noreturn)用于告知编译器该函数没有返回值。使用__declspec(noreturn)声明的函数中,不允许出现return。否则会有警告: warning C4645:...

    2017-11-10 15:21
    182
  • C/C++ enum class枚举类型

    声明枚举类型的方式有2种: 1. 常见的enum方式 enum A { a0 = 0, a1 = 1 }; enum B { b0 = 0, b1 = 1 }; 2. enum cl...

    2017-11-10 15:40
    79207
  • C++11 右值引用&&

    一、 新特性的目的 右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementic...

    2017-11-13 14:43
    79547
  • C++ 编译时断言检查

    一、 static_assert C++自C++11起支持static_assert编译时断言, static_assert ( bool_constexpr , message ) (C+...

    2017-11-13 16:19
    79214
  • C++11 智能指针

    C++11标准库中提供的智能指针主要有:std::auto_ptr, std::unique_ptr, std::shared_ptr。 std::auto_ptr在C++11中已经标记为弃用...

    2017-11-24 15:14
    80174
  • C++容器--std::set

    一、介绍std::set集合的元素具有顺序性、唯一性等特性,可以指定比较函数进行排序。std::set和std::map一样以红黑树来实现。set成员函数和非成员函数可以参考: http://zh....

    2017-12-06 12:41
    83197
  • C++ 类型转换

    static_cast 只提供编译时的类型检查,没有运行时类型检查。完全不相干类型之间的转换是不允许的,编译器会报错。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 虽然也允许进行下...

    2017-12-11 14:10
    83411
  • 标准库std::min/std::max与min/max宏冲突

    如题,因为windef.h中定义了max和min宏:#ifndef NOMINMAX#ifndef max #define max(a,b) (((a) > (b)) ? ...

    2017-12-14 12:04
    85323
  • Windows内存体系(6) -- 彻底理解内存对齐

    一、内存为什么要对齐 虽然所有的变量都是保存在特定地址的内存中,但最好还是按照内存对齐的要求来存储。这主要出于两个方面的原因考虑: 平台原因: 不是所有的硬件平台(特别是嵌入式系统中使用的...

    2017-12-24 23:40
    87724
  • C++ 匿名对象

    在webRTC的源码中有如下函数: template T> std::unique_ptr WrapUnique(T* ptr) { return std::unique_ptr(pt...

    2017-12-25 16:01
    89083
  • Google C++编程规范

    个人认为google的C++编码规范实用性强,相较于微软的编码规范更加简单明了. 一、文件命名 文件名要全部小写,可以包含下划线(_)或短线(-)。 my_useful_class.c...

    2017-12-27 23:07
    77365
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部