上一页 1 ··· 6 7 8 9 10 11 下一页
  2013年5月3日
摘要: const告诉编译器它所约束的对象是不允许被修改的,它可以作用于任何作用域类的对象(包括类对象),函数参数和返回值,及成员函数本体,使用它可以在编译时及时发现错误。1)const与指针const可以修饰指针本身,也可以修饰指针所指的对象,或者限制指针与其所指对象都为const,如下:const char* p = "hello";//non-const pointer, const datachar* const p = "hello"; //const pointer, non-const dataconst char* const p = " 阅读全文
posted @ 2013-05-03 20:53 Sophia-呵呵小猪 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 将C++中的string转换为char*的方法之一:1 char* Convert(string str)2 {3 const char* cs = str.c_str();4 char* pc = new char[strlen(cs)+1];5 strcpy(pc, cs);6 return pc;7 } 阅读全文
posted @ 2013-05-03 20:50 Sophia-呵呵小猪 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 首先说明gcc是用来编译和运行C文件,g++是用来编译和运行C++文件以编译和运行C++文件为例:如果在同一文件下有Head.h, Head.cpp, test.cpp,其中Head.cpp是Head.h的实现,test.cpp包含Head.h文件,那么编译和运行有如下两种方式:1)同时编译多个文件(顺序随意),并指定输出文件名g++ -o test Head.cpp test.cpp./test2)分别编译源文件,最后链接在一起运行:g++ -c Head.cppg++ -c test.cppg++ -o test Head.o test.o./testgcc类似,只需将上述的g++改为gc 阅读全文
posted @ 2013-05-03 19:36 Sophia-呵呵小猪 阅读(923) 评论(0) 推荐(0) 编辑
摘要: #define是预处理的内容,本质上是为一个常量或者一个函数定义一个标识符,而在编译时代码中的标识符会被其真正的内容所替换,主要目的可以理解为提高代码的可读性。但#define有其局限性,比如由于其是预处理器的内容,在编译时已经被真正的内容所替代,所以编译器很有可能看不到其标识符,那么在调试过程中就会出现迷惑,举个例子:对于下面的宏:#define PI 3.1415926编译时代码中不会出现PI,但会出现很多3.1415926,这样出现错误信息时,你就只能看到3.1415926,而看不到它的标识符,也就难以理解这个数值所代表的意义。而同时,出现很多的3.1415926也会占用较多的空间。这两 阅读全文
posted @ 2013-05-03 14:50 Sophia-呵呵小猪 阅读(384) 评论(0) 推荐(0) 编辑
  2013年5月1日
摘要: (1)C++中内存种类C++中,一般将内存分成5个区:栈、堆、自由存储区、全局/静态存储区、常量存储区。此外还包括存放二进制函数体的程序代码区。栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区,里面的变量通常是局部变量、函数参数等。堆:程序在运行的时候用new分配的指定大小的内存块,编译器不负责释放,程序员自己负责在何时用delete 释放内存,因而其生存期是由程序员决定的。如果程序员不释放,在程序结束后系统会释放掉这块内存。不同于数据结构中的堆,内存中的堆分配方式类似于链表。自由存储区:由 malloc 等分配的内存块,和堆是十分相似的,不过它是用 free 来结束 阅读全文
posted @ 2013-05-01 14:20 Sophia-呵呵小猪 阅读(220) 评论(0) 推荐(0) 编辑
  2012年11月28日
摘要: 源文地址:http://blog.sina.com.cn/s/blog_8378e25b0101b5hr.html之前在VS2008中使用ifstrean输入流读取文件时,发现除第一个文件外,其他的文件都直接跳到文件末尾。之后在博客上看到这样的解答:用 std::ifstream来读取一个文件完成后,close(),然后再用该ifstream对象立即打开另一个文件,会失败,必须要在 close()之后调用ifs.clear(ios::goodbit) 之后(ifs为std::ifstream对象),才能够打开一个新文件,原因:“关闭流并不能改变流对象的内部状态。如果最后的读写操作失败了,对象的 阅读全文
posted @ 2012-11-28 21:51 Sophia-呵呵小猪 阅读(588) 评论(0) 推荐(0) 编辑
  2012年10月27日
摘要: 为了更好的实现面向对象设计的四大优点:易维护性、易扩展性、易复用性和灵活多样性,离不开以下几大原则:一 单一职责原则(The Single Responsibility Principle, 简称SRP):就一个类而言,应该仅有一个引起它变化的原因只有佛自己应当担负起公布玄妙秘密的职责。——E.Cobham Brewer,1810-1897如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。二 开放-封闭原 阅读全文
posted @ 2012-10-27 11:02 Sophia-呵呵小猪 阅读(204) 评论(0) 推荐(0) 编辑
  2012年10月14日
摘要: 最近在学习MVC布局的一些东西,在网上跟一些有经验的技术大神们学习了一些内容,再加上自己的一些实践,慢慢的也有了一点心得体会,下面将它记载下来,便于有需要的人也便于自己翻阅。另外,我的实践过程中选择的是Razor视图引擎。一 MVC中的部分视图PartialView: MVC中的PartialView其实相当于用户控件ascx,其主要作用主要包括两方面: 可复用性:如果视图中的一部分内容会在多个地方用到,那么有必要将它写成一个分部视图,这样就不必在每一个视图中都重新写一遍,而直接调用分部视图就可以了; 便于维护:如果一个View有许多块组成,那么可以将这些块拆分成多个分部视图,这样就不必... 阅读全文
posted @ 2012-10-14 21:39 Sophia-呵呵小猪 阅读(744) 评论(0) 推荐(0) 编辑
  2012年9月10日
摘要: 1. DropDownList绑定方法1)前台绑定<asp:DropDownList ID="Type" runat="server" AutoPostBack="False" onselectedindexchanged="Type_SelectedIndexChanged" class="TableData"> <asp:ListItem Value="0">选择新闻类型</asp:ListItem> <asp:ListItem 阅读全文
posted @ 2012-09-10 15:37 Sophia-呵呵小猪 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1. HashTableHashTable中的Key和Value均为Object类型,可以存放任何Object类型的数据。1)简单操作: HashTable ht = new HashTable();添加键值对:ht.Add(key,value);移除某键值对:ht.Remove(key);判断是否包含某个键值:ht.Contains(key)清除哈希表:ht.Clear();根据key获取value:Object value = (Object)ht[key];2) 遍历遍历键值Key foreach(Object item in ht.Keys){}遍历Value foreach(Ob.. 阅读全文
posted @ 2012-09-10 15:35 Sophia-呵呵小猪 阅读(173) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页