随笔分类 - c++
摘要:大端模式小端模式以及网络字节序主机字节序有两种:大端模式和小端模式 大端模式:高字节存放在低地址,低字节存放在高地址; 小端模式:低字节存放在低地址,高字节存放在高地址; 不同的CPU有不同的主机字节序类型。 Ø 典型的使用小端存储的CPU有:Intel x86和ARM Ø 典型的使用大端存储CPU
阅读全文
摘要:一、C\C++ 运行时库编译选项简单说明 问题:我的dll别人没法用 运行时库是个很复杂的东西,作为开发过程中dll制作需要了解的一部分,这里主要简单介绍一下如何选择编译选项。 在我们的开发过程中时常会遇到这样的问题: 1. 我的VS版本比较高(比如:VS2012),我想制作一个dll,封装了几个函
阅读全文
摘要:【1】strlen 与 sizeof有何区别?(1)sizeof操作符的结果类型是size_t,它在头文件中typedef为 unsigned int 类型。该类型保证能容纳实现所建立的最大对象的字节大小。(2)sizeof是操作符,strlen是函数。(3)sizeof可以用类型做参数,strle...
阅读全文
摘要:vs开发环境配置及常见错误 http://www.360doc.com/content/15/0610/16/6973384_477179688.shtml VS中ProjectDir的值以及$(ProjectDir)../的含义 ProjectDir代表包含xxx.sln的路径,如E:\code\
阅读全文
摘要:两种方法对于你的程序调用动态库时没有任何区别,只是你在编程时,步骤是不一样的。显式调用麻烦了点,但可以没有相应的lib库;隐式调用,使用起来比较 简单,有函数的声明(头文件.h)就可以了,但必须有lib库。 在VC中两种方式的具体方法: 一、动态库的隐示调用: 在 VC 工程中直接链接静态输入库XX
阅读全文
摘要:【1】空类为什么可以创建对象呢? 示例代码如下: 1 class Test 2 { 3 }; 4 void main() 5 { 6 Test t1; 7 cout构造函数的函数名必须与类名相同,而且没有返回值,更不能用void来修饰。默认访问权限是public的,并且inline函数【常识】 构造函数允许重载。【各个不同的构造函数创建的对象就是所谓的天生不同性】 构造...
阅读全文
摘要:一道笔试题的思考:记得,找工作时,遇到了这样的一道笔试题。记不清是那个公司的笔试题,反正觉得自己当时还真费了一点功夫的,但是也就搞定了一部分,结果还是被另一部分给鄙视啦!现在静下来分析实现如下:题目:用C++设计一个不能被继承的类不能被继承?不能被继承?不能被继承?按照继承的理论知识分析,我们只要把...
阅读全文
摘要:只允许对象生成于堆内?怎么理解?肿么办?假如,手头上有一个类Person,当你在程序中写下Person rn时,编译器悄悄地做了两件事:调用constructor构造对象rn,而在弹栈时,调用destructor析构对象rn。对象rn的构造和析构全部由编译器负责,这是栈的特性!诸所周知,对象rn生成...
阅读全文
摘要:struct ifreq ifrf; ::memset(&ifrf,0,sizeof(ifrf)); ::strncpy(ifrf.ifr_name, ifr[addrCount].ifr_name, sizeof(ifrf.ifr_name)); theErr = ::ioctl(tempSock
阅读全文
摘要:C++调用虚函数的时候,要根据实例(即this指针指向的实例)中虚函数表指针得到虚函数表,再从虚函数表中找到函数的地址。#includeclass shape {public: int a; shape(int t) { a=t; } virtual void area() ...
阅读全文
摘要:#includeclass shape {public: int a; shape(int t) { a=t; } virtual void area()=0;};class circle: public shape { public: void area(); circl...
阅读全文
摘要:C++堆和栈的分配 栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈。 堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,注意它与数据结构中的堆是两回事,分配方式类似于链表。 全局区(静态区)(sta
阅读全文
摘要:#include using namespace std;struct A1{ int a; static int b; };struct A2{ int a; char c;};struct A3{ float a; char c;};struct A4{...
阅读全文
摘要:#include using namespace std;class A{ int m_a; int get() { return m_a; } virtual void set(int a) { m_a = a; } vi...
阅读全文
摘要://a.cpp class A{ public: int fun(int x){ return (x*x+1000); } }; void tt() { } //b.cpp class A{ public: int fun(int x); }; void tt(); int yy() { tt();
阅读全文
摘要:用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如图8.4所示。能否只用一段空间来存放这个共同的函数代码段,在调用各对象的函数时,都去调...
阅读全文
摘要:1.对象与对象之间的成员变量是相互独立的。要想共用数据,则需要使用静态成员和静态方法。 2.只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变量。(因为静态成员变量在对象创建之前就已经被分配了内存空间) 3.静态成员变量虽然在类中,但它并不是随对象的建立
阅读全文
摘要:#includeclass A{ const int a; int b;};void main(){ A obja;}编译出现如下错误:error C2512: 'A' : no appropriate default constructor available;如果将const去...
阅读全文
摘要:设计模式:面向对象设计的六大原则 (绝对详细) 目录 前言 六大原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 总结 前言 很久没有写博客了,一直给自己找借口说太忙了,过几天有空再写,几天之后又几天,时间就这么快速的消逝。说到底就是自己太懒了,不下点决心真是不行。
阅读全文
浙公网安备 33010602011771号