原创 math.h的abs返回值()

math.h的abs返回值() 正確答案: C 你的答案: A (錯誤) A.不可能是負數 B.不可能是正數 C.都有可能 D.不可能是0 c中的函數申明爲 int abs(int num); 正常情況下, num

原创 對稀疏矩陣壓縮後轉置

#include<stdio.h> #include<stdlib.h> //define struct Arr { int i,j; int data; }; struct ST { Arr* data; int i,j,n

原创 數組名作爲函數的參數傳遞給函數

在32位機器中,如下代碼: void example(char acWelcome[]){ printf("%d",sizeof(acWelcome)); return; } void main(){ ch

原创 繼承類的大小

在32位操作系統gcc編譯器環境下,下面程序的運行結果爲() #include <iostream> using namespace std; class A { public: int b; char

原创 c++stl vector源碼簡析

c++stl vector源碼簡析 vector是我們經常用的容易之一,我們現在來簡單看一下vector的部分源碼理解vector的行爲以便我們在使用過程中更得心應手 首先看一下vector的alloc基類: template <clas

原创 幾種動態分配內存的方法及區別

1) malloc 函數: void *malloc(unsigned int size) 在內存的動態分配區域中分配一個長度爲size的連續空間,如果分配成功,則返回所分配內存空間的首地址,否則返回NULL,申請的內存不會進

原创 字符串&malloc&strlen&strcpy

如下程序用於輸出“Welcome to Huawei Test”,請指出其中的兩處錯誤。 char * GetWelcome(void){ char * pcWelcome; char * pcNewWelcome;

原创 stl源碼簡析char_traits.h

stl源碼簡析char_traits.h 掠過之前不重要的東西,直接上代碼了 static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; }

原创 關於c++中的cin

關於c++中的cin 在程序中我們經常看到關於cin這樣的用法 while(!cin>>val) { ……; } 我一開始想知道cin的返回值是什麼於是就在網上去搜集資料,後面突然想到cin是istream一個對象,不是一個

原创 動態鏈接庫與靜態鏈接庫的區別

動態鏈接庫與靜態鏈接庫的區別 1 靜態鏈接庫的優點 (1) 代碼裝載速度快,執行速度略比動態鏈接庫快; (2) 只需保證在開發者的計算機中有正確的.LIB文件,在以二進制形式發佈程序時不需考慮在用戶的計算機上.LIB文件是否存在及版

原创 繼承虛函數&數組名做參數

#include<iostream> using namespace std; class Base { public: virtual int foo(int x) { return x * 10;

原创 指針運算

1.指針自增、自減每次移動的偏移量是指針所指向對象的字節大小 2.指針相減的值是指針地址的偏移除以指針每次移位的大小 舉例: #include<stdio.h> void main() { short *p,*q; sh

原创 C++線程安全的單例模式

C++線程安全的單例模式 首先看一下普通的單例模式實現: class singleton{ public: static singleton* getinstance(){ if(p==null){

原创 Linux併發回射服務器(二):處理僵死進程

運行三個客戶端程序然後非正常結束linux下我們用ps -a命令可以查看當前進程的情況如下 解決方法是利用子進程傳遞給父進程的信號 代碼如下: #include<sys/types.h> #include<sys/socket.h>

原创 深度探索c++對象模型讀書筆記(一)

深度探索c++對象模型讀書筆記(一) 1.c++有兩種class data menmbers:static 和 nonstatic 三種class menmber functions:static ,nonstatic,virtual