Time of Update: 2018-12-05
負數的右移位操作負數的>>操作,結果取決於語言的實現,左邊空出的位置,可能填補0,也可能填補1。 靜態局部對象 內建類型的局部對象如果沒顯式初始化,則值就未初始化。靜態局部對象、全域對象,包括內建類型和使用者自訂類型,如果未提供初始化式,則編譯器自動初始化為0。 拷貝建構函式 A(A copy){…};是不允許的,如果允許,會造成無限的遞迴調用。正確的形參為const A&
Time of Update: 2018-12-05
條款20:寧以pass-by-reference-to-const 替換 pass-by-value 一般而言,pass-by-value 需要耗費調用拷貝建構函式和解構函式的代價。當傳回值以value返回時也同樣。 以by reference 方式傳遞參數還可以避免slicing(對象切割問題)。當一個derived class 對象以by value方式傳遞給一個函數類型為base class的形參,base class 建構函式會被調用,則造成derived對象被切割為base對象。
Time of Update: 2018-12-05
我以前沒有用過windows form上的東西,web上很簡單,html的標籤支援元素的value屬性。我使用過delphi的combox和listbox,它的items是個stringList類型的東西,每個元素是一個字串,同時能儲存一個object;使用的時候往往定義個object的子類型,然後添加到items時new一個這種對象,最後還要管理這個對象的釋放. 那麼開啟msdn看看windows form上的listbox吧 經過研究猜想是這樣:
Time of Update: 2018-12-05
因為有些人可能會疑惑,將了這麼多多線程,到底在實際的應用上有什麼作用的呢? 這裡我在這裡用多線程簡單實現了一個檔案的下載的功能。伺服器端頁面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="FileServer.Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Time of Update: 2018-12-05
這方面的文章多得很,我這裡把一些細節說一下。1. 選用C#中的HttpWebRequest、HttpWebResponse和CookieContainer類。HttpWebRequest是用來提交web請求的,包括post和get;HttpWebResponse是用來接收伺服器對本次請求的回複;CookieContainer是用來存放Cookie的集合,有些頁面只有登入使用者才能查看。這個時候就需要儲存Cookie,以便使登入時建立的session儲存下來這樣伺服器就會認為我們一直是登入狀態了。
Time of Update: 2018-12-05
網路通訊一般都是通過Socket進行的,稱為進程通訊機制,通常也稱作"通訊端",用於描述IP地址和連接埠,是一個通訊鏈的控制代碼。先學習一下socket基本原理:socket原理: 在Internet上有很多這樣的主機,這些主機一般運行了多個服務軟體,同時提供幾種服務。每種服務都開啟一個Socket,並綁定到一個連接埠上,不同的連接埠對應於不同的服務。Socket正如其英文原意那樣,象一個多孔插座。一台主機猶如布滿各種插座的房間,每個插座有一個編號,有的插座提供220伏交流電, 有的提供11
Time of Update: 2018-12-05
在C++的程式員眼中,指令碼是個奇葩的邏輯。當然也可能我比較奇葩。不過從Lua走過來,python的理解也不那麼難。記錄一下剛學python要注意的東西,也算是個快速入門吧。如果你是從C++過來的,那你來對地方了。 避免運行指令碼閃過可以添加raw_input()。這相當於getline。 在命令列中可以直接鍵入filename.py來運行指令碼。 匯入模組用import
Time of Update: 2018-12-05
#pragma once#include <functional>struct scope_guard {typedef std::function<void()> Fn;Fn action;bool active; scope_guard(Fn action) : action(action), active(true) {}void dismiss() {active = false;} ~scope_guard () {if(active)
Time of Update: 2018-12-05
http://blog.csdn.net/ruglcc/article/details/79210811.什麼是C&C++的標準庫?C語言被發明出來時並沒有什麼庫函數,隨著C語言的流行,越來越多的廠商或者機構組織開始提供C的編譯器,並且同時把經常用到的函數封裝成“庫”的形式發布;不同的組織發布的庫函數的介面和數量各不相同。後來,標準化組織ANSI制定了C語言的標準,同時也制定了一定數量的庫(或庫函數),就就成為標準庫函數。(後來這個ANSI
Time of Update: 2018-12-05
java和vb進行socket 以及java與c/c++/oc 進行socket通訊時漢字字串編碼問題解決我遇到的是 java 編碼字元集採用 UTF-8 編碼字元採用2+字元 我測試的代碼如下System.out.println("UTF-8:a->" + "a".getBytes("UTF-8").length); System.out.println("UTF-8:嗨->" + "嗨".getBytes("UTF-8").length); System.out.println(
Time of Update: 2018-12-05
大家熟知的C庫函數printf函數就是一個可變參數函數,它是怎麼實現的呢?不過他實現是有條件的,必須函數參數的入棧順序為從右向左的順序,也即函數的形參,在函數調用之前,必須是最右邊的參數先入棧,並且參數都必須通過棧傳遞,以1個例子說明,如函數func(arg1, arg2,arg3),那麼函數的堆棧應是: ebp是幀指標寄存器,一般用來存取堆棧,有了堆棧結構,下面我們看看C可變參數的具體實現原理:#include
Time of Update: 2018-12-05
如何在同一個程式中混合使用C++和C 1.名變換 名變換,就是C++編譯器給程式的每個函數換一個獨一無二的名字。 由函數名和參數組合產生一個新的名字,這樣為了支援函數重載 在C語言中,這樣的做法是不必要的,因為它沒有重載函數。 這樣就存在一個問題:就是當你在C++環境中調用C函數庫中的函數時,比如一個drawLine(int x,int
Time of Update: 2018-12-05
題目來自:http://blog.csdn.net/sxhelijian/article/details/8723847【項目1拓展(選做)】請自行設計一個矩形類,可以計算矩形的面積、周長、對象線,判斷是否是正方形。請用上類似的建構函式,自己設計main()函數,對設計的類進行測試。#include <iostream>#include <cmath>using namespace std;class Rectangle{private:double
Time of Update: 2018-12-05
都是常用技巧,經常用C++的應該都會注意到一兩條,為綜合整理,非個人獨創,從開原始碼以及書本論文中抄過來的,數目連結http://blog.csdn.net/iuhsihsow/article/details/7222093如有雷同,純屬巧合。直接上代碼,這次歸納了6點 // Maro.cpp : 定義控制台應用程式的進入點。//#include "stdafx.h"#include <Windows.h>#include <iostream>#include
Time of Update: 2018-12-05
近來,公司在做卡的一個項目上需要加密之類的,所以需要java中調用c的函數,所以才研究了一下,參考了網上一些例子,自己也試了試,給出例子如下: java 類 package com.lzg;public class Test { static { System.loadLibrary("swdes"); } public native static String GenCvv(String psCardNo, String psExpiry, String
Time of Update: 2018-12-05
POCO C++庫學習和分析 -- 平台與環境 在寫程式的時候,有時候需要收集一些系統資訊,用作軟硬體的綁定或產生唯一的註冊碼資訊等。Poco中提供了一個很簡單的類Environment來實現這個功能。這個類的定義如下: class Foundation_API Environment/// This class provides access to environment variables/// and some general system
Time of Update: 2018-12-05
獲得日曆時間 我們可以通過time()函數來獲得日曆時間(Calendar Time),其原型為: time_t time(time_t * timer); 如果你已經聲明了參數timer,你可以從參數timer返回現在的日曆時間,同時也可以通過傳回值返回現在的日曆時間,即從一個時間點(例如:1970年1月1日0時0分0秒)到現在此時的秒數。如果參數為空白(NUL),函數將只通過傳回值返回現在的日曆時間,比如下面這個例子用來顯示當前的日曆時間: #include "time.h"
Time of Update: 2018-12-05
// BSearch.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <iostream>using namespace std;template <class T>void PrintfNum(T a[],const int& n);/*** search n in a[], return the index, if not find,
Time of Update: 2018-12-05
在很多時候,程式中會用到隨機數,在C++中就要用到專門用以產生隨機數的標準庫函數rand(),它會產生一個不帶正負號的整數,範圍在0~32767,即兩位元組16位的整數最大值。而GNU C++產生的隨機數範圍為2147483647。 範圍中的每一個數在每次隨機調用rand時都有相同的機率被選中。 調用時 ,需要引用標頭檔<cstdlib>,範例程式碼//擲20次篩子,每五個一行輸出#include "stdafx.h" #include <iostream>
Time of Update: 2018-12-05
C++11中引入的auto主要有兩種用途:自動類型推斷和傳回值佔位。auto在C++98中的標識臨時變數的語義,由於使用極少且多餘,在C++11中已被刪除。前後兩個標準的auto,完全是兩個概念。 1. 自動類型推斷 auto自動類型推斷,用於從初始設定式中推斷出變數的資料類型。通過auto的自動類型推斷,可以大大簡化我們的編程工作。下面是一些使用auto的例子。 #include <vector>#include <map>using