C++
文章平均质量分 54
snsn1984
专注技术,专注管理。
展开
-
C++杂记(一)
默认实参 默认实参是一种虽然并不普遍,但在大多数情况下仍然适用的实参值。调用函数时,可以省略有默认值的实参。编译器会为我们省略的实参提供墨认值。 例如: string screenInit(string::size_type height=24,string::size_type width=80,char background=原创 2008-11-24 19:59:00 · 1315 阅读 · 0 评论 -
Effective C++ 读书笔记之Part9.Miscellany
53. Pay attention to compiler warnings.总结:第一,严肃对待编译器发出的警告信息。努力在你的编译器的最高(最严苛)警告级别下争取“无任何警告”的荣誉。第二,不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态度并不相同。一旦移植到另一个编译器上,你原本依赖的警告信息有可能消失。54. Familiarize yourself wi原创 2013-05-30 17:34:16 · 1644 阅读 · 3 评论 -
Effective C++ 读书笔记之Part8.Customizing new and delete
49. Understand the behavior of the new-handler.总结:第一,set_new_handler允许客户指定一个函数,在内存分配无法获得满足时被调用。第二,Nothrow new是一个颇为局限的工具,因为它只适用于内存分配;后继的构造函数调用还是可能抛出异常。50. Understand when it makes sense to原创 2013-05-30 17:27:40 · 1453 阅读 · 0 评论 -
从代码看设计模式之----工厂模式(C++)
设计模式依照本人理解,就是真对一类问题一个更好的标准的解决方案,按照这个解决方案做出来的东西,后续方便扩展,方便维护,等等一系列方便。不按照这个方案行不行?当然也可以,杀猪杀屁股,各有各的杀法。这是我对设计模式的两点认识:第一,设计模式只是针对一类问题较好的一个解决方案,不唯一,不一定最好;第二,不按照设计模式也能解决问题。遵照这个思想,我从四人帮的设计模式的书中扣了一些代码出来,调试通过,想原创 2013-06-19 16:17:55 · 3777 阅读 · 2 评论 -
C++学习书单
关于C++的书太多了,很容易让人没有头绪。一直想整理下,把这些书列个书单出来,直到今天才动手。希望我的经验能给后来的初学者一点帮助。1.《C++程序设计教程》 钱能很多学校把这本书选做C++课程的教材。简单易懂,例子也很简单明了,该有的部分基本都有了。个人觉的这本书很适合入门,不知道为什么有不少人对这本书评价不是太高。但是个人意见,初学者可以从这本书入手,比《C++ primer》相对好入原创 2013-06-25 16:12:29 · 3822 阅读 · 3 评论 -
Design: cpp11-migrate
Design: cpp11-migrateThis document describes the design of the tool cpp11-migrate used to automatically migrate legacy C++ code to use features of the new C++11 standard. The tool is to be based o转载 2013-12-08 19:20:59 · 1519 阅读 · 0 评论 -
Status of the C++11 Migrator----Monday, April 15, 2013
Since the design document for cpp11-migrate, the C++11 migrator tool, was first proposed in early December 2012 development has been making steady progress. In this article I'll talk about what's转载 2013-12-08 16:34:59 · 1256 阅读 · 0 评论 -
Google Summer of Code: C++ Modernizer Improvements----Monday, November 18, 2013
原文地址:http://blog.llvm.org/2013/11/google-summer-of-code-c-modernizer.htmlGoogle Summer of Code (GSoC) offers students stipends to participate in open source projects during the summer. This year,转载 2013-12-09 13:54:53 · 1565 阅读 · 0 评论 -
C++11 迁移器的状态--2013年4月15日
cpp11-migrate,一个开源的源码到源码的C++11的迁移器,可以使用C++11的新特性去迁移已有的C++代码,从而提高这些已有的C++代码的可维护性、可读性、运行性能以及缩短编译性能。翻译 2013-12-08 16:51:11 · 2241 阅读 · 0 评论 -
Android4.0.3源码分析——开机流程之Zygote
<!--@page {margin:2cm}pre.cjk {font-family:"AR PL UMing HK",monospace}p {margin-bottom:0.21cm}tt.cjk {font-family:"AR PL UMing HK",monospace}a:link {}-->ZygoteZ原创 2012-04-27 10:40:53 · 4161 阅读 · 0 评论 -
Android 4.0.3 源代码结构分析(一)
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->Android/abi (abi相关代码。ABI:applicationbinary interface,应用程序二进制接口)Android/bionic(bionic C库)Android/bootable(启动引导相关代码)Android/build原创 2012-04-13 11:00:00 · 11663 阅读 · 0 评论 -
Bionic---The README from the bionic/libc
Welcome to Bionic, Android's small and custom C library for the Androidplatform.Bionic is mainly a port of the BSD C library to our Linux kernel with thefollowing additions/changes:- no su转载 2012-07-30 14:42:47 · 2033 阅读 · 0 评论 -
C++温故笔记(三)
一、可变数据成员1、我们希望类的数据成员(甚至在const成员函数内)可以修改,这可以将它们声明为mutable来实现。2、可变数据成员永远都不能为const,甚至当它是const对象的成员时也如此。二、static数据成员和static成员函数1、static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联。2、正如类可以定义共享的static原创 2017-07-31 21:07:28 · 1043 阅读 · 1 评论 -
C++温故笔记(一)
从学C++到现在也有十个年头了,一直在用,也一直在不断的研究和学习。最近时间比较宽松,就把之前的一些书籍翻了出来,把基础的东西都又略读了一遍,有了不少的收获。这可能就是所谓的理论和实践的不断循环吧。将略读过程中所做的笔记整理出来,主要是总结和备忘,如果能对他人有所帮助,那就善莫大焉了。注:都是一些基础的东西,没有什么高深的,大牛可以跳过。一、模板和泛型1、模板是C++语言与众不同的特性,是标准库的原创 2017-07-29 10:57:23 · 1561 阅读 · 1 评论 -
C++温故笔记(二)
一、多重继承1、多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其所有父类的属性。2、在多重继承下,派生类的对象包含每个基类的对象。3、(多重继承)构造函数初始化式只能控制用于初始化基类的值,不能控制基类的构造次序。4、对于多重继承,派生类的指针或引用可以转换为其任意基类的指针或引用。5、当一个类继承于多个基类的时候,那些基类之间没有隐含的关系,不允许使用一个基类的指针访问其他基类的原创 2017-07-29 11:11:31 · 1009 阅读 · 1 评论 -
Effective C++ 读书笔记之Part6.Inheritance and Object-Oriented Design
32.Make sure public inheritance models "is-a".所谓的最佳设计,取决于系统希望做什么事,包括现在与未来。需要解决的问题:其中关于两个assert都通过的地方有些疑惑。总结:“public继承”意味着is-a。适用于base classes身上的每一件事情一定也适用于derived classes身上,因为每一个derived class对原创 2013-05-27 15:41:43 · 1973 阅读 · 1 评论 -
Effective C++ 读书笔记之Part2.Constructors, Destructors, and Assignment Operators
5.Know what functions C++ silently writes and calls.总结:编译器可以暗自为class创建default构造函数、copy构造函数、copy assginment操作符,以及析构函数。这些函数都是public的,并且是inline的。6.Explicitly disallow the use of compiler-gene原创 2013-05-13 16:36:00 · 1646 阅读 · 0 评论 -
Effective C++ 读书笔记之Part1.Accustoming Yourself to C++
1、View C++ as a federation of languagesC++的四个次语言:1)C2)Object-Oriented C++3)Template C++4)STL2、Prefer consts, enums, and inlines to #defines一方面是因为使用宏定义不利于调试的时候定位原创 2013-05-09 16:04:15 · 1594 阅读 · 2 评论 -
C++杂记
不知道什么时候被人建议过,有空的时候不要光埋头看书,隔断时间总结总结最近的成果.哪怕只是流水帐的一般,也对自己的学习有帮助,还可以记录下自己成长的脚步.自己觉的,可以记录自己很多现在的想法,这些想法随着学习可能会消逝,可能会遗忘,写下来放在这里,给自己参考,对别人能有帮助更好.希望看到的人,别吝惜自己的话,多交流. 从2004年9月开始上C++这门课到现在4年多了.其实C++几原创 2008-11-30 21:47:00 · 1507 阅读 · 2 评论 -
Absolute C++学习笔记1
《Absolute C++》------一本写给undergraduate的C++书 关于C++的书可以说是很多了,很多时候不知道从何下手,翻过的书也很多,有的评价很高,自己觉得读的别扭,有的评价一般,但是自己很喜欢,或许这就是适合不适合的问题吧。 同时翻看《The C++ Programming Language》和《Absolute C++》的原版书,最后放下了前者原创 2010-01-02 00:08:00 · 1601 阅读 · 0 评论 -
Absolute C++学习笔记2
The main topics of the chapter2 are BOOLEAN EXPRESSION,BRANCHING MECHANISMS and LOOPS. There is a point which would be worth to notice,the point is int value can be used as boolean.The 0 w原创 2010-01-07 19:29:00 · 1087 阅读 · 0 评论 -
将接收到的IP地址转化为字符串显示(代码)
BYTE nField0,nField1,nField2,nField3; m_ipaddd.GetAddress(nField0,nField1,nField2,nField3); //m_ipadd.SetAddress(nField0,nField1,nField2,nField3); CString strData1, strData2, strData3, strData4原创 2010-03-23 17:24:00 · 2700 阅读 · 0 评论 -
【转】QT概述1
来源:百度百科。 Qt是一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。 自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,KDE是所有主要的Linux发行版的一个标准组件。转载 2010-03-30 10:21:00 · 1540 阅读 · 1 评论 -
【转】QT概述2-------跨平台的GUI Framework:Qt(C/C++)
跨平台的GUI Framework : Qt (C/C++)来源于:http://www.cnblogs.com/oomusou/archive/2006/10/14/528689.aspx跨平台是程序设计师长久的梦想,谁都想要程序只写一次,就能在各种平台执行,Java当初就是以『Write once, run every where.』打响知名度,因此号称是终极程序语言,也吸引了很多人头转载 2010-03-30 11:08:00 · 1540 阅读 · 0 评论 -
获取CPU厂商名称程序(直接粘贴进去即可用)
CPU ,名称转载 2011-03-24 21:28:00 · 1725 阅读 · 0 评论 -
C++0x: The future of C++-- C++0x:C++的未来
C++0x: The future of C++By Alex Allain What is C++0x?C++0x was the working name for the new standard for C++, adding many language features that I'll cover in this series on C++11. In Septem转载 2012-10-11 23:22:50 · 1735 阅读 · 0 评论 -
重温堆和拷贝构造函数
堆:C++程序的内存格局通常分为四个区:1.全局数据区(data area)2.代码区(code area)3.栈区(stack area)4.堆区(即自由存储区)(heap area)全局变量、静态数据、常量存放在全局数据区,所有类成员函数和非成员函数代码存放在代码区,为运行函数所分配的局部变量、函数参数、返回数据、返回地址等存放在栈区,余下的空间都被作为堆区。原创 2012-10-22 09:49:59 · 1876 阅读 · 0 评论 -
Effective C++ 读书笔记之Part3.Resource Management
13. Use objects to manage resources.总结:第一,为了防止资源泄露,请使用RAII对象,它们在构造函数中获得资源并在西沟函数中释放资源。第二,两个常被使用的RAII class分别是tr1::shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为比较直观。若选择auto_ptr,复制动作会使它(被复制物)指向null。原创 2013-05-17 15:06:13 · 1517 阅读 · 0 评论 -
Effective C++ 读书笔记之Part4.Design and Declarations
18. Make interfaces easy to use correctly and hard to use incorrrectly.总结:第一,好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。第二,“促使正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。第三,“阻止误用”的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除原创 2013-05-21 15:44:51 · 1553 阅读 · 0 评论 -
C++知识点---explicit、TR1、Boost
关键字:explicit1、除非有明显的理由想要定义隐式转换,否则,单形参构造函数应该为explicit。将构造函数设置为explicit可以避免错误,并且当转换有用时。用户可以显式地构造对象。2、explicit关键字只能用于类内部的构造函数声明上。在类的定义体外部所做的定义上不再重复它。参考:《C++ Primer》 12.4.4TR1TRI ("Techn原创 2013-05-09 11:16:25 · 1961 阅读 · 0 评论 -
Effective C++ 读书笔记之Part5.Implementations
26. Postpone variable definitions as long as possible.总结:尽可能延后变量定义式的出现。这样做可增加程序的清晰度并改善程序效率。批注:纯C语言此处有冲突,C语言要求变量定义出现在代码快的开始部分。27. Minimize casting.1)const_cast 通常被用来将对原创 2013-05-23 11:23:08 · 1601 阅读 · 0 评论 -
LLVM每日谈之二十七 几个在线编译器资源
几个在线编译器资源:(来源于https://isocpp.org)平时会遇到有点小想法想验证一下,发现手头那台电脑环境不具备,还要折腾一下重新配置,很是烦人。无意间发现了这几个在线的资源,记录下来,留作后用。1、godbolt.org (Clang, GCC, Intel ICC, VC++)2、Wandbox (Clang, gcc -- includes Boost)3、Online Vis原创 2017-12-13 09:15:32 · 1636 阅读 · 0 评论