Time of Update: 2018-07-31
1. 背景 在java中,jvm支援類的動態連結(Class.forName(String className)),用起來也很方便。動態連結是實現IOC(Inversion of Control,控制反轉,更形象的稱作依賴注入)的關鍵,用於將類間依賴從程式移到設定檔中。在架構不重新編譯的情況下,替換被依賴的類。 在linux下,C++只能通過C的dl
Time of Update: 2018-07-31
一、IF結構 if(chinese==100 && music>70) { Console.WriteLine("優秀"); } Console.ReadKey(); if (score >= 90) { str="A";
Time of Update: 2018-07-31
基礎知識 編譯語言和解釋語言 儘管現在很多編程技術都在交融,出現了不少帶有編譯系統的解釋語言,和帶有複雜運行時系統的編譯語言,但通常我們還是可以比較明確的區分它們。在這個大前提下,Python和C++屬於這個兩類技術中比較極端的代表。 編譯時間和運行時
Time of Update: 2018-07-31
/*****************************************************copyright (C), 2014-2015, Lighting Studio. Co., Ltd. File name:Author:Jerey_Jobs Version:0.1 Date: Description:Funcion List:
Time of Update: 2018-07-31
#include <stdio.h>//函數指標 int fun(void){printf("Hello World\n");return 0;}int main(int argc, const char *argv[]){printf("main = %p\n",main);int (*p)(void) = fun; //p 函數指標:本質是指標p(); //fun 地址常量return 0;} #include
Time of Update: 2018-07-31
簡單的產生0~100隨機數的代碼如下: #include<stdio.h>#include<time.h>void main(){ int i=0,j=0; int p; srand(time(NULL));//產生時間種子 p=rand()%100+1;//產生隨機數 printf("%d\t",p); printf("\n");}
Time of Update: 2018-07-31
第一件事建議大家少用gets函數。 我遇到的這個問題實在是C語言新手比較容易遇到的一個問題。是關於get()和getchar()這兩個函數的。大家都知道,gets()函數作用是輸入字串,而getchar()是輸入單個字元。但在一個小程式中,我發現了它們兩個一些別的用法。 因為源檔案的代碼很長,所以只打上源檔案中涉及到這個問題的一個函數: void
Time of Update: 2018-07-31
題目:有N個人,從1到N編號,按照編號順序圍成一圈。從第一個人開始報數(從1報到3),凡報到3的人退出圈子。問:最後留下的人的編號是幾號。==============================這是百度知道中,很常見的題目,多數都有了正確答案。如:http://zhidao.baidu.com/question/95065794.htmlhttp://zhidao.baidu.com/question/211023828.htmlhttp://zhidao.baidu.com/questio
Time of Update: 2018-07-31
一、問題概述 用C語言實現一個簡易計算機,可以用來實現加減乘除的功能 名詞解釋: 函數指標:一個指標,用於指向一個函數 函數指標數組:是一個數組,裡面存放多個函數指標 回呼函數:一個函數,若參數中有函數指標,那麼這個函數便是回呼函數 二、問題分析 這個問題大可用switch,case語句實現 但是這裡我們用一種比較高大上的方法 利用函數指標數組 以及回呼函數 思路:
Time of Update: 2018-07-31
二級指標和三級指標作為形參的具體應用: 二級指標作為形參時,記憶體配置在函數外進行。函數內只需要進行相關操作;三級指標作為形參時,可以在函數內分配空間。 三級指標作為形參代碼: int skinDetect(unsigned char *frame, int _width, int _height, Rect*** ppp_rect ,int *skin_size){int width = _width;int height =
Time of Update: 2018-07-31
記錄一下,讀取.ini設定檔的方法。 實際中,一般先獲得當前程式所在路徑(或者放在特定的設定檔目錄) GetModuleFileName 解釋下這句:strrchr(cfgpath, '\\')[0] = '\0'; strrchr(cfgpath, '\\')返迴路徑中'\'最後出現的位置,strrchr(cfgpath, '\\')[0]則把該位置改為'\0'。之後strcat後,就得到了設定檔的絕對位址。
Time of Update: 2018-07-31
引言 自從Dennis M.Ritchie於1973年設計並實現C語言以來,電腦程式設計領域已經發生了巨大的變化。以C語言為根基的C++、Java和C#等物件導向語言相繼誕生,並在各自領域大獲成功。今天,C及其後裔幾乎統治了電腦程式設計世界。可以這麼說,C語言的誕生是現代程式語言革命的起點,它改變了程式設計語言發展的軌跡,是程式設計語言發展史中的一個裡程碑。
Time of Update: 2018-07-31
簡單地說下C++類的3種繼承方式,分別是public繼承,protected繼承,private繼承。 最常用的還是public繼承。class預設的是private繼承,它的member如果沒寫入權限也是預設 private。struct則相反,預設的是public繼承。結合下面的圖示和代碼,對C++的繼承就有了 比較清晰的認識了。 繼承之後,derived class 繼承過後的member的屬性就是圖中所示。 代碼主要從:
Time of Update: 2018-07-31
“new”是C++的一個關鍵字,通常用來建立一個對象,但它與一般建立對象的方法不同,它會返回這個對象的指標。當我們使用關鍵字new在堆上動態建立一個對象時,它實際上做了三件事:獲得一塊記憶體空間、調用建構函式、返回正確的指標。 如我們定義了如下一個類A: class A{ int i;public: A(int _i) :i(_i*_i) {} void Say() { printf("i=%d/n", i); }};//調用new:A* pa =
Time of Update: 2018-07-31
在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入INI檔案中,程式初始化時再讀入.具體應用如下: 一.將資訊寫入.INI檔案中. 1.所用的WINAPI函數原型為: BOOL WritePrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString,
Time of Update: 2018-07-31
通過C#擷取Linux某一個檔案夾下面的所有檔案的名稱,從現有的工具WinSCP , SecureCRT來看,實現肯定是可以實現的,通過一番折騰之後下載SharpSSH 源碼(地址為:https://sourceforge.net/projects/sharpssh/)進行查看。發現源碼中的SshTransferProtocolBase.cs類中已經存在抽象方法 publicabstractArrayList GetFileList(string
Time of Update: 2018-07-31
c++中,new的用法很靈活,這裡進行了簡單的總結: 1. new() 分配這種類型的一個大小的記憶體空間,並以括弧中的值來初始化這個變數; 2. new[] 分配這種類型的n個大小的記憶體空間,並用預設建構函式來初始化這些變數; #include<iostream> #include<cstring> using namespace std;
Time of Update: 2018-07-31
在.NET Framework 2.0中提供了SerialPort類,該類主要實現串口資料通訊等。本文章將本人在學習過程中從網路上搜集到的相關資訊寫出來供大家參考。 下面主要介紹該類的主要屬性(表1)和方法(表.2)。 如果需要瞭解更多的資訊請登入http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport(VS.80).aspx查看。 相關文章 《使用System.IO.Ports讀取COM口資料》
Time of Update: 2018-07-31
今天遇到一個奇怪的現象, 同一個程式在一台機器上運行能捕獲代碼拋出的c++異常, 在另外一台機器上無法捕獲異常直接abort出來, 堆棧如下: #0 0xf77c6430 in __kernel_vsyscall () #1 0x002b6df0 in raise () from /lib/libc.so.6 #2 0x002b8701 in abort () from /lib/libc.so.6 #3 0x00615acc in
Time of Update: 2018-07-31
突然看到C++Primer中講到,對於vector的一個迴圈,調用語句:(範例程式碼i=v.begin()不是很規範,雖然不會出錯,客官請將就著看) [cpp] view plain copy