收藏本版 |订阅

编程语言 今日: 0|主题: 642|排名: 14 

  • C++:小端模式与强制数据类型转换
    1.先从一个问题说开去 C++数据类型转换的问题 #include void main() { int i=0xb62; char c; c=i; cout 这里为什么输出的是b? 2.先检测一下我们所使用的电脑的CPU的字节序 版本一(有问题,结果无论如何都是34,不能说明34是高地址的还是低地址的) 版本二(根据 shineyan1991的留言修改后得到 ...
    3143 [db:作者] 发表于 2016-10-17 编程语言
  • linux下安装或升级GCC 4.8以支持C++11标准
    C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。随后各编译器厂商都各自实现或部分实现了C++中的特性。 如需查看各编译器对C++11的支持程度,请参看文章: 本文主要介绍在Linux系统下,如何升级GCC以支持C++11。目前来看GCC是对C++11支持程度最高最多的编译器,但需 ...
    3142 [db:作者] 发表于 2016-10-17 编程语言
  • Eclipse中如何终止循环cin的输出
    Eclipse中, 使用CDT编写C++代码时, 循环(while)cin输入程序, 需要终止, 如: while (cin>>i) S.insert(i); Eclipse的终止方法是: 首先在输入数据框内, 使用回车(Enter) -> 再终止(terminate)程序, 即输出结果. 更多精彩内容:http://www.bianceng.cn/Programming/cplus/ ...
    3144 [db:作者] 发表于 2016-10-17 编程语言
  • C++中虚函数(virtual function) 的 使用范围
    虚函数(virtual function) 在 基函数(base function) 和 派生函数(derived function) 之间可以覆写(override); 如果派生函数有与虚函数同名的函数, 则会隐藏虚函数, 但是虚函数还会在; 由于派生对象和基对象可以转换, 可以只使用基对象部分; 派生对象的虚函数会覆写基对象的虚函数; 代码: /* * cppprimer.cpp * * Cr ...
    3139 [db:作者] 发表于 2016-10-17 编程语言
  • C++中“tuple”(元组)容器详解
    tuple容器(元组), 是表示元组容器, 是不包含任何结构的,快速而低质(粗制滥造, quick and dirty)的, 可以用于函数返回多个返回值; tuple容器, 可以使用直接初始化, 和"make_tuple()"初始化, 访问元素使用"get()"方法, 注意get里面的位置信息, 必须是常量表达式(const expression); 可以通过"std::tuple_size::value"获取元素 ...
    3140 [db:作者] 发表于 2016-10-17 编程语言
  • C++中智能指针(smarter pointer)自定义删除器(deleter) 的方法
    智能指针包含两种"shared_ptr"和"unique_ptr", 由于两种指针的实现方式不同, 所以传递删除器的方式也不同; "shared_ptr"的传递删除器(deleter)方式比较简单, 只需要在参数中添加具体的删除器函数名, 即可; 注意是单参数函数; "unique_ptr"的删除器是函数模板(function template), 所以需要在模板类型传递删除器的类型(即函 ...
    3146 [db:作者] 发表于 2016-10-17 编程语言
  • C++中正则表达式(regex) 迭代器(iterator) 详解
    正则表达式(regex), 使用boost的regex头文件, 是C++11的新标准, 但是gcc4.8.1并未完全支持, 所以使用boost库; 具体安装: http://blog.csdn.net/caroline_wendy/article/details/17282187 正则表达式的书写规范, 以ECMAScript为例, 使用迭代器可以遍历原字符串, 输出符合要求的所有字符串; 使用prefix()和suffix()方法, 可以 ...
    3138 [db:作者] 发表于 2016-10-17 编程语言
  • C++中函数模板(function template) 的 推进(forward) 问题
    函数模板在调用函数的时候, 由于实参(argument)转换形参(parameter)的时候, 会发生改变, 导致无法保留原实参的信息, 即推进(forward)问题; 主要包括: 引用和右值;引用, 即因为模板参数非引用, 导致复制操作, 无法提供引用类型;右值, 即因为模板参数只能转换为左值, 无法提供右值; 解决方法: 引用: 使用右值参数(T&& t), 可 ...
    3140 [db:作者] 发表于 2016-10-17 编程语言
  • C++中函数模板(function template) 的 重载(overload) 详解
    函数模板(function template)重载, 即实例化特定的模板, 确定T的类型, 选择匹配度最高的一个; 需要注意传递的具体类型, 如传递的是"&s", 则表示"string* t = &s", 即实际匹配的类型为"string* t"; 当非函数模板和函数模板匹配度相同时, 优先选择非函数模板; 调用模板时, 一定要注意顺序, 或者提前声明, 以保证可以找到函数 ...
    3142 [db:作者] 发表于 2016-10-17 编程语言
  • C++中函数模板(function template) 详解
    C++的模板(template)是泛型编程(generic programming)的基础; 面向对象编程 是 运行(run time)时 知道类型(type); 泛型编程 是编译(compilation) 知道类型; 函数模板(function template)包含模板参数列表(template parameter list); 每个参数类型之前必须包含关键字typename或class, 尽量使用typename, 表达意思更加明确; ...
    3144 [db:作者] 发表于 2016-10-17 编程语言
  • C++的异常类(exception classes) 详解
    异常类(exception classes)包含4种基类,bad_cast, bad_alloc,runtime_error, logic_error; runtime_error: 错误只有当程序运行时, 才能检测出来; logic_error: 应用程序检测出的逻辑错误. 其中bad_cast, bad_alloc使用默认构造器, runtime_error, logic_error, 必须使用string(C-style或stl)进行初始化; 用户定义的类也可以 ...
    3142 [db:作者] 发表于 2016-10-17 编程语言
  • C++中的虚继承(virtual inheritance)
    虚继承主要是避免基类重复被继承, 包含多个相同基类, 导致歧义性, 使用虚基类(virtual base class)继承, 可以使派生对象只包含一份基类文件. 如果不使用虚继承, 则派生类需要提供一份自己的示例版本, 参见: http://blog.csdn.net/caroline_wendy/article/details/18077235 代码: /* * cppprimer.cpp * * Created on: ...
    3145 [db:作者] 发表于 2016-10-17 编程语言
  • C++: 把文本文件(txt)的所有内容读入字符串(string), 最高效的方法
    代码: /* * main.cpp * * Created on: 2014年6月17日 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include #include #include #include std::string get_file_contents(const char *filename) { std::ifstream in(filename, std::ios::in | std::ios::binary) ...
    3138 [db:作者] 发表于 2016-10-17 编程语言
  • C++:默认复制构造函数 执行 浅拷贝
    C++, 会默认生成一个复制构造函数, 当类中出现指针时, 复制会执行浅拷贝, 即只复制指针的地址, 不会复制数据; 所以在类中, 使用指针时, 需要注意; 如果想使用深拷贝, 可以添加复制构造函数. 以下代码, 如果不添加复制构造函数, 则会运行出错, 但可以通过编译, 运行时, 因为删除(delete[])两次str所指的同一片地址空间, 所以 ...
    3165 [db:作者] 发表于 2016-10-17 编程语言
  • C++:接口继承(interface) 和 实现继承(implementation) 详解
    继承接口和实现, 主要包含三种方式: 1. 只继承接口, 纯虚函数; 2. 继承接口和实现, 允许覆写(override), 虚函数; 3. 继承接口和实现, 不允许覆写(override), 非虚函数; 1. 纯虚函数: 只继承接口, 但是派生类必须实现其接口; 纯虚函数也可以包含实现, 但是只能在指明类(即, class:的时候使用 2. 虚函数: 继承接口和实现, 派 ...
    3160 [db:作者] 发表于 2016-10-17 编程语言
  • C++:程序运行时间
    C++使用C语言的time库, 即可统计程序的运行时间; 头文件#include 代码: #include #include void do_something() { for(int i=0;i(end-start)/CLOCKS_PER_SEC; std::cout 更多精彩内容:http://www.bianceng.cn/Programming/cplus/
    3163 [db:作者] 发表于 2016-10-17 编程语言
  • C++:RTTI(RunTime Type Information)运行时类型信息 详解
    RTTI, RunTime Type Information, 运行时类型信息, 是多态的主要组成部分, 通过运行时(runtime)确定使用的类型, 执行不同的函数,复用(reuse)接口. dynamic_cast可以 使基类指针转换为派生类的指针, 通过判断指针的类型, 可以决定使用的函数. typeid(), 可以判断类型信息, 判断指针指向位置, 在多态中, 可以判断基类还是派生 ...
    3168 [db:作者] 发表于 2016-10-17 编程语言
  • PE文件格式文档
    NT头---可选头---IMAGE_DATA_DIRECTORY---IMAGE_DIRECTORY_ENTRY_RESOURCE---> IMAGE_SECTION_HEADER[](节头/表) …… 节n---->IMAGE_RESOURCE_DIRECTORY_ENTRY[]---IMAGE_RESOURCE_DIRECTORY[] -----------------0OS头 -----------------1:NT头 typedef struct _IMAGE_NT_HEADERS { DWORD Signature;//PE文件头标志 :"PE\0 ...
    2163 [db:作者] 发表于 2016-10-17 编程语言
  • 浏览文件的一段代码
    #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; TTreeNode* currnode; int DirCount,FileCount,DriveCount; //--------------------------------------------------- ...
    2156 [db:作者] 发表于 2016-10-17 编程语言
  • C++编程人员容易犯的10个C#错误
    我们知道,C#的语法与C++非常相似,实现从C++向C#的转变,其困难不在于语言本身,而在于熟悉.NET的可管理环境和对.NET框架的理解。尽管C#与C++在语法上的变化是很小的,几乎不会对我们有什么影响,但有些变化却足以使一些粗心的C++编程人员时刻铭记在心。在本篇文章中我们将讨论C++编程人员最容易犯的十个错误。 陷阱1: 没 ...
    2162 [db:作者] 发表于 2016-10-17 编程语言
  • 下一页 »

    快速发帖

    还可输入 80 个字符
    您需要登录后才可以发帖 登录 | 立即注册

    本版积分规则

    关注公众号

    相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖
    关注公众号
    QQ客服返回顶部