原创 C++ 實現strcpy

不使用任何字符串庫函數是實現strcpy char* _strcpy(char* dest, const char* src) { assert(dest != NULL && src != NULL); char

原创 C++之觀察者模式(訂閱-發佈模式)

定義: 觀察者模式定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態發生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。 最常見的一個例子就是:對同一組數據進行統計分析時候,我們希望能夠提

原创 Cocos2dx3.5 opengl方式製作屏幕寫字板

通過重寫draw函數,來實現根據手勢劃線的功能,代碼一看就能明白 #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h

原创 C++中 #ifndef #define #endif的作用

加上以上的宏是未了防止頭文件被重複引用,當編譯器第一次編譯頭文件的時候,會定義_HEAD_H,然後如果還有文件引用了該頭文件,但_HEAD_H已經被定義了,所以就不會在去編譯你的頭文件添加的內容。這就是條件編譯。 比如你有兩個cp

原创 m進制轉爲n進制(0

首先,將m進制轉爲10進制,然後在將10進制轉爲n進制;(都用輾轉相除法) #include <iostream> using namespace std; void mToN(char* src, int m, char* de

原创 C++ 公有(public)繼承,私有(private)繼承,保護(protected)繼承

公有繼承(public)、私有繼承(private)、保護繼承(protected)是常用的三種繼承方式。 1. 公有繼承(public) 公有繼承的特點是基類的公有成員和保護成員作爲派生類的成員時,它們都保持原有的狀態,而基

原创 循環鏈表 ——解決約瑟夫環

已知n個人(以編號1,2,3…n分別表示)圍坐在一張圓桌周圍。從編號爲k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。 #include <iost

原创 C++ 實現strcmp

實現strcmp函數,不使用任何的字符串庫 #include <iostream> #include <cassert> #include <cstring> using namespace std; int _strcmp(c

原创 在OpenGL中用參數方程繪製球體

轉載鏈接http://blog.163.com/tianshi_17th/blog/static/48564189200832992845889/ 運行效果: 程序的代碼 Sphere.h #pragma once /

原创 有這樣一個數組A,大小爲n,相鄰元素差的絕對值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。現在,給定A和目標整數t,請找到t在A中的位置。

在筆試中遇到過這樣一個數組問題,只知道一般的解法: 數組第一個數爲array[0], 要找的數爲y,設t = abs(y - array[0])。由於每個相鄰的數字之差的絕對值爲1。故第t個位置之前的數肯定都比y小。因此直接定位

原创 C++ 指針順序

c++中while(*p++);與while(*p){p++;}有什麼區別? 區別在於退出循環後, p的值不一樣 while( *p++ ); //當*p=0時,退出循環,此時p++仍然執行了 while( *p ) p++

原创 opengl 畫一些基本的圖形

畫一些點、線、面的基本圖形 // Test1OpenGl.cpp : 定義控制檯應用程序的入口點。 // #include "stdafx.h" #include <gl\glut.h> #include <cmath> voi

原创 C++ const 與 重載

重載函數的定義:出現在相同作用域中的兩個函數,如果具有相同的名字而形參表不同,則稱爲重載函數。 根據教材定義,如果有兩個名字相同的函數,二者形參名字和類型都相同,但一個函數的形參帶 const 修飾,而另一個函數不帶 const

原创 C/C++中static的區別

static 用途 1 static局部變量 表示該變量不是auto型的,就是說,該變量在程序開始的時候創建,在程序結束的時候存儲空間不釋放,使用的時候沿用上一次的那個值 2 static 全局變量 表示該變量只能在本文件中使

原创 最長公共子序列問題

字符序列的子序列是指從給定字符序列中隨意地(不一定連續)去掉若干個字符(可能一個也不去掉)後所形成的字符序列。 考慮最長公共子序列問題如何分解成子問題,設A=“a0,a1,…,am-1”,B=“b0,b1,…,bm-1”,並Z=“