Time of Update: 2018-12-04
又一神轉載。。。不僅對理解有協助。。而且以後寫日誌學學原作者。。改變一些字型顏色...前面可以看。。後面暫時不深究 c++建構函式的知識在各種c++教材上已有介紹,不過初學者往往不太注意觀察和總結其中各種建構函式的特點和用法,故在此我根據自己的c++編程經驗總結了一下c++中各種建構函式的特點,並附上例子,希望對初學者有所協助。 c++類的建構函式詳解 一、
Time of Update: 2018-12-04
//--------------------------------------------------------------------------- #include <vcl.h>#pragma hdrstop#include "CharandString.h" //--------------------------------------------------------------------------- #pragma package(smart_init)#
Time of Update: 2018-12-04
a) int a; // An integer b) int *a; // A pointer to an integer c) int **a; // A pointer to a pointer to an integer d) int a[10]; //一個有10個指標的數組,該指標是指向一個整型數的。 e) int
Time of Update: 2018-12-04
建構函式:拷貝建構函式就類對象而言,相同類型的類對象是通過拷貝建構函式來完成整個複製過程的拷貝建構函式是一種特殊的建構函式,函數的名稱必須和類名稱一致,它必須的一個參數是本類型的一個引用變數。如#include <iostream>using namespace std;class CExample {private: int a;public: //建構函式 CExample(int b) { a = b;} //拷貝建構函式 CExample(
Time of Update: 2018-12-04
指標可以加上或減去一個整數。指標的這種運算的意義和通常的數值的加減運算的意義是不一樣的,以位元組為單位。char a[20];int *ptr=(int
Time of Update: 2018-12-04
原始地址:C / C++演算法學習筆記(3)-冒泡法 冒泡法: 這是最原始,也是眾所周知的最慢的演算法了。它的名字的由來因為它的工作看來象是冒泡: #include <iostream.h>void BubbleSort(int* pData,int Count){ int iTemp; for(int i=1;i<Count;i++) { for(int j=Count-1;j>=i;j--) {
Time of Update: 2018-12-04
今天在objc工程中,匯入一些c、c++檔案時,,編譯引起了NSObjCRuntime錯誤,,,仔細檢查發現,原來是在SK_Prefix.pch中,定義了 #ifdef __OBJC__ #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #endif #import "Utils.h" #import "Constants.h" #import
Time of Update: 2018-12-04
原始地址:C / C++演算法學習筆記(4)-交換法 交換法:交換法的程式最清晰簡單,每次用當前的元素一一的同其後的元素比較並交換。#include <iostream.h>void ExchangeSort(int* pData,int Count){ int iTemp; for(int i=0;i<Count-1;i++) { for(int j=i+1;j<Count;j++) {
Time of Update: 2018-12-04
原始地址:C / C++演算法學習筆記(5)-選擇法 選擇法: 現在我們終於可以看到一點希望:選擇法,這種方法提高了一點效能(某些情況下)這種方法類似我們人為的排序習慣: 從資料中選擇最小的同第一個值交換,在從省下的部分中選擇最小的與第二個交換,這樣往複下去。#include <iostream.h>void SelectSort(int* pData,int Count){ int iTemp; int iPos; for(int i=0
Time of Update: 2018-12-04
原始地址:C++ 指標 (1)-基本常識 指標是一個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的一個地址。要搞清一個指標,需要搞清指標的四方面的內容: 指標的類型、指標所指向的類型、指標的值或者叫指標所指向的記憶體區、指標本身所佔據的記憶體區。 在32位程式裡,所有類型的指標的值都是一個32位整數,因為32位程式裡記憶體位址全都是32位長。
Time of Update: 2018-12-04
http://www.sunxin.org/video/vc.htm 孫鑫官網視頻下載修飾常指標 const個人理解為java中的final關鍵字,定義變數和方法後,變數的值不可變。c o n s t的作用不限於在常數運算式裡代替# d e f i n e s。即是可以替代# d e f i n e s 定義變數。規則如下:const int *A; //const修飾指向的對象,A可變,A指向的對象不可變 int const *A; //const修飾指向的對象,A可變,A指向的對象不可變
Time of Update: 2018-12-04
原始地址:C / C++演算法學習筆記(6)-插入法 插入法:插入法較為複雜,它的基本工作原理是抽出牌,在前面的牌中尋找相應的位置插入,然後繼續下一張。 #include <iostream.h>void InsertSort(int* pData,int Count){ int iTemp; int iPos; for(int i=1;i<Count;i++) { iTemp = pData[i]; iPos = i-1;
Time of Update: 2018-12-04
一、什麼是對齊,以及為什麼要對齊: 1. 現代電腦中記憶體空間都是按照byte劃分的,從理論上講似乎對任何類型的變數的訪問可以從任何地址開始,但實際情況是在訪問特定變數的時候經常在特定的記憶體位址訪問,這就需要各類型資料按照一定的規則在空間上排列,而不是順序的一個接一個的排放,這就是對齊。 2. 對齊的作用和原因:各個硬體平台對儲存空間的處理上有很大的不同。一些平台對某些特定類型的資料只能從某些特定地址開始存取。其他平台可能沒有這種情況,
Time of Update: 2018-12-04
1.用#號將輸入的內容轉換為字串。 用##號將兩個參數合并。 #include <iostream> using namespace std; //將輸入的內容轉換成字串 #define AllToString(str) #str //將兩個參數粘在一起 #define AllToParter(parm1,parm2) parm1##parm2 int main() {cout<<AllToString(hello
Time of Update: 2018-12-04
C++ 中的虛函數的作用主要是實現了多態的機制。關於多態,簡而言之就是用父類型別的指標指向其子類的執行個體,然後通過父類的指標調用實際子類的成員函數。這種技 術可以讓父類的指標有“多種形態”,這是一種泛型技術。所謂泛型技術,說白了就是試圖使用不變的代碼來實現可變的演算法。比如:模板技術,RTTI技術,虛 函數技術,要麼是試圖做到在編譯時間決議,要麼試圖做到運行時決議。關於虛函數的使用方法,我在這裡不做過多的闡述。大家可以看看相關的C++的書籍。在這篇文章中,我只想從虛函數的實現機制上面為大家
Time of Update: 2018-12-04
原始地址:雙向冒泡通常的冒泡是單向的,而這裡是雙向的,也就是說還要進行反向的工作。代碼看起來複雜,仔細理一下就明白了,是一個來回震蕩的方式。寫這段代碼的作者認為這樣可以在冒泡的基礎上減少一些交換(我不這麼認為,也許我錯了)。反正我認為這是一段有趣的代碼,值得一看。#include <iostream.h>void Bubble2Sort(int* pData,int Count){ int iTemp; int left =1; int right =Count -
Time of Update: 2018-12-04
//============================================================================// Name : 5.1.cpp// Author : zhaoming// Version :// Copyright : copyright to zhaoming// Description : Hello World in C++, Ansi-style//====================
Time of Update: 2018-12-04
/*省略參數:用省略符號…表示, 省略符號出現的地方可以有任意個任意類型的參數。例如常用的printf函數:int printf (const char *format, …) ; */#include <iostream>#include <cstdio>using namespace std;long sum(int n, ...){long s = 0;int *p = &n +1; //p指向第一個省略參數cout << "*
Time of Update: 2018-12-04
#include <stdio.h>#include <stdlib.h>int main(){ int i; i = 10; printf("i : %d\n",i); printf("sizeof(i++) is: %d\n",sizeof(++i)); printf("i : %d\n",i); return 0;}結果:i : 10sizeof(i++) is: 4i :
Time of Update: 2018-12-04
遇到問題:56 Expression: (unsigned)(c + 1) <= 256 在isctype.c中產生斷言extern "C" int __cdecl _chvalidator_l(_locale_t plocinfo,int c,int mask){_LocaleUpdate _loc_update(plocinfo); _ASSERTE((unsigned)(c + 1) <= 256); //