
C/C++
文章平均质量分 70
cc198877
这个作者很懒,什么都没留下…
展开
-
我的第一份小项目作业.....开心 (2007-12-14 18:53) (矩阵加减乘 C语言)
虽然作业已经交了很久了虽然做的很乃至非常不STRONG但这是第一份作业做了一整天HAPPY......留个纪念......#include#includevoid main(){ float ** scan(int row,int column,int num); void print(int row,int colum原创 2012-06-05 16:20:50 · 1159 阅读 · 1 评论 -
浅谈C/C++的浮点数在内存中的存储方式
任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中,存放方式为 10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式。但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所制定的标准浮点格式,即二进制科学表示法转载 2013-05-09 09:55:49 · 633 阅读 · 0 评论 -
C++中的虚函数(virtual function)
1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public: virtual void foo() { cout };class B: public A{public: virtual void foo() { cout转载 2012-10-08 10:18:21 · 891 阅读 · 1 评论 -
C/C++中的Split函数
strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则会将该字符改为'\0'字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。C/C++中的Split函数是strtok()其函数原型如转载 2013-05-29 16:41:11 · 936 阅读 · 0 评论 -
C++ sizeof 操作符的用法总结
在VC中,sizeof有着许多的用法,而且很容易引起一些错误。下面根据sizeof后面的参数对sizeof的用法做个总结。A.参数为数据类型或者为一般变量:例如sizeof(int),sizeof(long)等等。这种情况要注意的是不同系统系统或者不同编译器得到的结果可能是不同的。例如int类型在16位系统中占2个字节,在32位系统中占4个字节。B.参数为数组或原创 2013-06-17 16:23:08 · 947 阅读 · 0 评论 -
C++ 自定义结构体和类 内存对齐
为什么要提出内存对齐?比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double类型的数据都从8倍数地址开始,那么读或写一个double类型数据就只需要一次内存操作。否则,我们就可能需要两次内存操作才能完成这个动作,因为数据或许恰好横跨在两个符合对齐要求的8字节内存块上。(在有谢处理器上内存不对齐的话可能会出现错误)一些例转载 2013-06-17 16:21:33 · 990 阅读 · 0 评论 -
C++ Placement New
先看一个题目:#include #include using namespace std;struct Base { int j; virtual void f() { printf("B\n"); } };struct Derived: Base { void f() { printf("D\n"); }};void fooBar(){原创 2013-08-29 16:16:20 · 743 阅读 · 0 评论 -
标准非STL容器 : bitset
文章后面有很好的内容,重点总结一下是:1. bitset, vector 以及 deque的区别;2. bitset在栈中分配内存,vector/deque在堆中分配内存,所以bitset过大时要小心栈溢出。先转一篇介绍bitset使用的文章:http://www.cnblogs.com/lvpengms/archive/2010/04/10/1708836.html最近用原创 2013-09-02 10:41:50 · 1236 阅读 · 0 评论 -
inline函数和宏的区别
#define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定转载 2013-09-08 16:34:06 · 873 阅读 · 0 评论 -
VC++ 中 int类型转换 LPCTSTR类型 几种方法
总结了网上的几种方法:1. 指针操作(这种方法可能适用于传参数时用,但是像messagebox函数中就不适用)LPCTSTR p;int x = 100;p = (LPCTSTR)&x;转自 http://zhidao.baidu.com/question/46371231.html2. format 函数int number = 1原创 2012-09-14 17:02:08 · 11022 阅读 · 1 评论 -
stl string常用函数
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常st转载 2013-07-11 13:17:51 · 655 阅读 · 0 评论 -
C/C++中各种类型int、long、double、char表示范围(最大最小值)
#include#include#include using namespace std;int main(){ cout << "type: \t\t" << "************size**************"<< endl; cout << "bool: \t\t" << "所占字节数:" << sizeof(bool); cout ::ma转载 2013-09-03 16:26:36 · 897 阅读 · 0 评论 -
C语言 sleep wait 函数 区别
转 http://unix-cd.com/unixcd12/article_7083.htmlC 语言中可用 sleep() 函数实现休眠,具体如下: #include (1) MFC中的Sleep函数原型:void Sleep(DWORD dwMilliseconds);//微秒(2) linux下的slee转载 2012-06-16 18:01:23 · 4532 阅读 · 0 评论 -
关于fork()返回值
fork简介: fork英文原意是“分岔,分支”的意思,而在操作系统中,乃是著名的Unix(或类Unix,如Linux,Minix)中用于创建子进程的系统调用。 【NOTE1】 fork () 的作用是什么?换句话说,你用 fork () 的目的是什么? ――是为了产生一个新的进程,地球人都知道 :)产生一个什么样的进程? ――和你本来调用 fork (转载 2013-04-22 16:10:27 · 744 阅读 · 0 评论 -
MFC打开/保存文件对话框:CFileDialog
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OV转载 2012-04-20 17:02:21 · 700 阅读 · 0 评论 -
如何给线程函数 beginthread 和 pthread_create 传递参数
1. 传递单个参数:直接传递指向参数的指针。/*----------------------- beginthread.c ----------------------------*/#include void doubleNum(void* arg) { int *arg=(int*)arg; *arg=(*arg)*2;} void main() {原创 2012-09-17 16:10:33 · 1498 阅读 · 0 评论 -
switch函数用法与错误分析
1.switch参数类型:switch 后面的表达式不能跟double,float,long,String ,boolean,可以接int,short,byte,char!2.switch中定义变量问题: 问题点: switch (a) { case 1: CString str="AB转载 2012-09-26 15:10:35 · 7495 阅读 · 0 评论 -
C语言 \r (回车) 和 \n (换行) 区别
\r是回车符,\n是换行符计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在转载 2013-02-22 17:15:34 · 1812 阅读 · 0 评论 -
常见编译/链接错误及其解决办法
1. 解决error LNK2005: ___crtExitProcess 已经在 LIBCMTD.lib(crt0dat.obj) 中定义有的時候, 在 Debug 模式下編譯沒問題, 換到 Release 模式就發生一堆問題.典型的例子, 就是因為 c++ runtime library 設定不同, 所造成的重複定義連結錯誤.而另一個常見的例子是 專案與 library 使转载 2012-10-10 17:53:35 · 4845 阅读 · 0 评论 -
What are TCHAR, WCHAR, LPSTR, LPWSTR, LPCTSTR (etc.)?
By Ajay VijayvargiyaMany C++ Windows programmers get confused over what bizarre identifiers like TCHAR, LPCTSTR are. In this article, I would attempt by best to clear out the fog.In转载 2012-10-09 17:32:45 · 882 阅读 · 0 评论 -
C语言之文件操作
C语言库函数的文件操作实际上是独立于具体的操作系统平台的,不管是在DOS、Windows、Linux还是在VxWorks中都是这些函数:创建和打开的函数:FILE *fopen(const char *path, const char *mode);fopen()实现打开指定文件filename,其中的mode为打开模式,C语言中支持的打开模式如下表:r, rb 以只读方式打开转载 2012-06-15 11:22:00 · 539 阅读 · 0 评论 -
C++中接口与实现分离的技术
在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。 下面用一个最简单的例子来说明。 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件转载 2013-04-26 11:07:41 · 654 阅读 · 0 评论 -
static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
隐式转换(implicit conversion)short a=2000;int b;b=a;short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如下图所示。宽化转换(如char到int,int到long long,int到float,float到double,int到double等)构成隐式转换,转载 2013-04-24 10:21:35 · 668 阅读 · 0 评论 -
C++ 全局对象 全局变量和局部变量 静态变量
讨论全局变量之前我们先要明白几个基本的概念: 1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么你可能转载 2012-06-15 18:39:55 · 26918 阅读 · 1 评论 -
static作用:静态变量的生存周期和作用域
首先要理解生存周期与作用域的区别:生存周期: 变量从定义到销毁的时间范围。存放在全局数据区的变量的生存周期存在于整个程序运行期间,而存放在栈中的数据则随着函数等的作用域结束导致出栈而销毁,除了静态变量之外的局部变量都存放于栈中。作用域: 变量的可见代码域(块作用域,函数作用域,类作用域,程序全局作用域)。static变量是指静态的变量,不管是在全局还是局部声明的static变量原创 2013-04-24 15:31:57 · 11436 阅读 · 0 评论 -
vs2010 error MSB6006: “cmd.exe”已退出,代码为 1
应该是当前工程路径中包含中文,全部改为英文即可。原创 2013-12-11 17:10:44 · 5815 阅读 · 2 评论