原创 linux文件操作
linux都是以文件爲單位對數據進行管理的,每一個打開的文件在內存中都有一個結構體與之相對應,這個結構體保存文件信息:文件名、大小、位置、權限等等typedef struct {成員列表} FILE;文件的操作:<1>打開FILE* fop
原创 我的友情鏈接
51CTO博客開發
原创 Mutable&const&volatile&extern&Static
1、Mutable使用mutable關鍵字後,即使上下文環境在const函數中,或者當前爲const對象,也可以修改被修飾的值Mutable int counter;2、const&volatile:被const修飾的值不能被當前程序上下文
原创 可變參數
#include <stdarg.h>int max(int cnt,...){ //定義可邊長參數列表 va_list v; //使用v保存參數cnt之後的那些參數 va_start(v,cnt);
原创 IO流總結
C++的I/O流體系 繼承關係: ios <-- istream/ostream |--> istream <-- istrstream/ifstream/iostream |--> ostream <-- ostr
原创 命名空間
1.內存名字隱藏外層名字2.嵌套名字空間逐層分解3.名字空間別名定義方法:namespace ns = 名字空間; 如: namespace ns1{ typedef int TYPE; namesp
原创 c++異常處理
<1>c++異常匹配規格是根據對象的靜態類型進行匹配的<2>typedef void (*f)() throw(int) typedef 語句中不能有異常規格說明<3>throw;向上級拋異常throw x;拋出異常1.使用異常說明:
原创 轉義字符
\a:響鈴\b:回退一格\f:換頁 \n:換行,光標到下行行首\r:回車,光標到本行行首 \t:水平製表 \v:垂直製表 \\:反斜槓\':單引號\":雙引號 \?:問號\ddd:三位八進制 \xhh:二位十六進制 \0:空字符(NULL
原创 考考自己 遞歸應該怎麼看?
void han(int num,char a,char b,char c){ if(num<=0)return ; // step 1 han(num-1,a,c,b);//將除最下面一個的所有通過c轉到b //
原创 IO流總結
C++的I/O流體系 繼承關係: ios <-- istream/ostream |--> istream <-- istrstream/ifstream/iostream |--> ostream <-- ostr
原创 二進制轉爲字符串 的泛型處理
template<class T> string bin2str(T bin){string str;T mask = 1;//注意這個表示二進制最後一位爲1,即不同類型的賦值1for(int i = 0; i < sizeof(mask)
原创 string字符串:#include <string>
typedef basic_string<char> string;1.string str("xxx");//在棧中隱士實例化string對象2.string str = "xxx";3.string str = string("xxx"
原创 c++ 新特性 右值引用
<1>普通左右值引用int a = 0;int&ref1 = a; //左值引用int&&ref2 = a; //右值引用<2>右值和左值引用基本沒什麼區別,差別是右值引用可以綁定到一個臨時對象(右值)上,如:int&x = int();/
原创 linux文件操作
linux都是以文件爲單位對數據進行管理的,每一個打開的文件在內存中都有一個結構體與之相對應,這個結構體保存文件信息:文件名、大小、位置、權限等等typedef struct {成員列表} FILE;文件的操作:<1>打開FILE* fop
原创 errno和%m
#include<stdio.h>//#include<string.h>//#include<errno.h>int main(){ FILE* file = fopen("/etc/passwd","w"); if(file