Time of Update: 2018-07-31
1.把C++當成一門新的語言學習2.看《Thinking In C++》,不要看《C++變成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是整合式開發環境,而我們要學的是一門語言;5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;6.會用Visual C+
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
GCC編譯器簡介: 一、基本知識瞭解 GCC是由gun之父Stallman所開發的linux下的編譯器。全程為GNU C Complier (GNU c語言編譯器)。這是一種早期的說法,早期的時候,它只是用來編譯我們的C 語言,之後可以多個我們的多門語言都可以進行編譯。例如, C,C++,JAVA,ObjectC等等。 GCC是可以在多種硬體平台上編譯出可執行程式的超級編譯器,
Time of Update: 2018-07-31
本文轉載自:原文地址 感謝分享 1、首先,講下 “堆 heap” 和 “棧 stack” 的區別: 一個由 c/c++編譯過的程式佔用的記憶體分為一下幾個部分 (1)、棧區 stack :由編譯器自動分配釋放, 存放函數的參數值,局部變數的值等。 這個棧的操作方式類似於資料結構中的棧。 (2)、堆區 heap
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
例子: 添加元素string(當然了,之前在標頭檔中添加#include<string>#include<vector>) vector<string> mystrs; string mystr; cout<<"input string\n";
Time of Update: 2018-07-31
第一件事建議大家少用gets函數。 我遇到的這個問題實在是C語言新手比較容易遇到的一個問題。是關於get()和getchar()這兩個函數的。大家都知道,gets()函數作用是輸入字串,而getchar()是輸入單個字元。但在一個小程式中,我發現了它們兩個一些別的用法。 因為源檔案的代碼很長,所以只打上源檔案中涉及到這個問題的一個函數: void
Time of Update: 2018-07-31
堆: 堆是具有下列性質的完全二叉樹:每個結點的值都大於或等於其左右孩子結點的值,稱為大頂堆;或者每個結點的值都小於等於其左右孩子結點的值,稱為小頂堆! 堆排序: 堆排序演算法就是利用堆(小頂堆或者大頂堆)進行排序的方法。 將待排序的序列構造成一個大頂堆,此時整個序列的最大值就是根節點。將它移走(跟堆的最後一個元素交換,此時末尾元素就是最大值),然後將剩餘的n-1個序列重新構造成一個堆,這樣就會得到n個元素中的次小值。如此反覆執行,便能得到一個有序序列了。
Time of Update: 2018-07-31
轉載自:http://blog.csdn.net/this_capslock/article/details/17001003 回呼函數是基於C編程的Windows SDK的技術,不是針對C++的,程式員可以將一個C函數直接作為回呼函數,但是如果試圖直接使用C++的成員函數作為回呼函數將發生錯誤,甚至編譯就不能通過。
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
windows C/C++移植linux(2) -載入動態共用程式庫的不同 系統動態共用程式庫簡介 靜態庫一個明顯的缺點就是,當系統同時運行很多應用程式,並且應用程式都使用來自同一個函數庫的函數,那麼每一個應用程式都會存在這個函數的多個副本。對於頻繁的調用的函數,將會消耗大量的記憶體和磁碟空間。在linux系統中,每一個程式員用到的靜態庫至少1M以上,如果機器上運行100個這樣的程式,那就佔據100M以上記憶體,磁碟中應用程式假設有2000個,就要接近浪費2G
Time of Update: 2018-07-31
new是在堆上分配記憶體,它需要用delete釋放,否則會造成記憶體流失。 A a 在程式執行完畢後,會自動釋放記憶體。 int main(){ A a;//定義了一個對象
Time of Update: 2018-07-31
先看兩個demo: 一.在類test1中調用函數print() ,把print()的函數指標傳遞給test1的函數指標參數 test1.h: #include <stdio.h>#include <iostream>using namespace std;typedef void (*FUNP)();class test1{public:void fun1(FUNP p){(*p)();}}; main.cpp #include
Time of Update: 2018-07-31
今天在寫poj上的一道題時,提交之後顯示代碼運行逾時,查了一下網上都說因為測試資料量大,普通迴圈尋找很容易逾時,用優先隊列能解決問題,有時題目裡設計到的狀態資訊比較複雜,要用一個類來維護,類的重載運算子自從上學期學過之後我就忘光了,於是現在寫一篇部落格好好記錄一下: C++中類的重載運算子 我們知道int可以比較,類和類之間只要通過重載運算子,也可以通過 >, <等方式來比較大小。 一般重載運算子有兩種方式,我直接上代碼,代碼裡面都有詳細注釋:
Time of Update: 2018-07-31
引言 自從Dennis M.Ritchie於1973年設計並實現C語言以來,電腦程式設計領域已經發生了巨大的變化。以C語言為根基的C++、Java和C#等物件導向語言相繼誕生,並在各自領域大獲成功。今天,C及其後裔幾乎統治了電腦程式設計世界。可以這麼說,C語言的誕生是現代程式語言革命的起點,它改變了程式設計語言發展的軌跡,是程式設計語言發展史中的一個裡程碑。
Time of Update: 2018-07-31
C標準庫中<stdarg.h>標頭檔中包含可變參數列表的實現,完成遍曆未知數目和類型的函數參數列表的功能。提供以下3個宏以及va_list變數: va_start(va_list ap, lastarg):在提取可變參數前必須調用這個宏實現初始化。
Time of Update: 2018-07-31
之前遇到字串分割的需求時,都是自己去實現,最近發現其實c標準庫已經提供了這個功能。對標準庫還是不熟悉啊,導致重複造車輪了,有必要把標準庫看一下。。。 先看一下之前自己實現的字串分割函數: void strsplit(const char *str, char *delim, void (*visitor)(const char *, int, int)){
Time of Update: 2018-07-31
通過C#擷取Linux某一個檔案夾下面的所有檔案的名稱,從現有的工具WinSCP , SecureCRT來看,實現肯定是可以實現的,通過一番折騰之後下載SharpSSH 源碼(地址為:https://sourceforge.net/projects/sharpssh/)進行查看。發現源碼中的SshTransferProtocolBase.cs類中已經存在抽象方法 publicabstractArrayList GetFileList(string