#include<iostream>#include<string>using namespace std;//任意進位之間的轉換/*** s1 轉換之前的數* s2 轉換之後的數* d1 原進位數* d2 需要轉到的進位數* 高於9的位元用大寫'A'~'Z'表示,2~16位進位通過驗證*/void conversion(string s1,string &s2,long d1,long d2){ //思路,還是將原數轉換成十進位數
計算三角形面積 時間限制: 1000 ms 記憶體限制: 65536 KB 提交數: 1813 通過數: 622 【題目描述】 平面上有一個三角形,它的三個頂點座標分別為(x1, y1), (x2, y2), (x3, y3),那麼請問這個三角形的面積是多少,精確到小數點後兩位。 【輸入】
pthread_exit()函數可以直接線上程函數內部調用結束這個線程。 開始還想初始化一個pthread_t thread_fd[MAX]數組來儲存開啟的線程,然後用一個棧儲存那些未分配的數組元素(thread_fd[index]=0)的index, 伺服器端: #include<stdlib.h> 8 #include<pthread.h> 9 #include<sys/socket.h> 10
//求三角形的面積/*文法:result = area3(float x1, float y1, float x2, float y2, float x3, float y3);參數:x1~3:三角形3個頂點x座標y1~3:三角形3個頂點y座標傳回值:三角形面積*//*方法:海倫-秦九公式已知三角形三邊a,b,c,則S面積= √[p(p - a)(p - b)(p - c)] (海倫公式)(其中p=(a+b+c)/2)*/float area3(float x1, float y1,
關於c++ new操作符的重載 你知道c++ 的new 操作符和operator new 的區別麼。也許你還會問,他們有區別嗎。 當你寫下面這樣的代碼時, string *pa = new string("memory managerment"); 你使用的是new 操作符,這個操作符和sizeof 一樣,是c++
1)形參 形參顧名思義就是形式上的參數,不是實際的參數,它代替實際傳入方法的值。在方法體代碼中代表了值本身參與運算。形參定義於參數中,它不同於方法體內局部變數,因為是一個變數,在它的範圍內不允許存在一個同名的局部變數,不管他們的類型是否相同,都是不允許出現同名的。 看下面的程式碼範例: //這其中的strName就是一個形參也是一個變數,不允許出現同名的局部變數 public void SayHelloTo(string strName) {
學習了這麼久的C++變准庫,怎麼還不會正確的插入和移除元素呢。之前移除特定值的元素,我們通過演算法earse()和remove()都能成功執行了,可是對於這些演算法來說,內部迭代器怎麼工作,我們不需要管,只知道對於序列式容器,它會遍曆整個容器,找到合格元素並移除,對於關聯式容器,可以在對數時間裡移除特定值的元素,移除滿足特定條件的元素,同樣需要遍曆整個容器。 那麼,現在如果要移除並輸出要移除的所有元素呢。
1:請說出const與#define 相比,有何優點。 答案: Const作用:定義常量、修飾函數參數、修飾函數傳回值三個作用。被Const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。 1) const 常量有資料類型,而宏常量沒有資料類型。編譯器可以對前者進行型別安全檢查。而對後者只進行字元替換,沒有型別安全檢查,並且在字元替換可能會產生意料不到的錯誤。 2) 有些整合化的調試工具可以對const 常量進行調試,但是不能對宏常量進行調試。 2:
代碼能跑,不過實在是觀察不出來什麼讀者優先,或者寫者優先。不知道這種優先順序的衝突的情境從何而來,也就不知道書上講得那些情況到底是什麼。 特別是在下面代碼的writer中,如果引入 sem_wait(&z)的話,writer進程會一直阻塞,從而引起讀者也阻塞。去掉後,呈現出讀者優先的狀況。 #include <stdio.h>#include <stdlib.h>#include <unistd.h>#include
#include <string.h> #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <io.h> /** * 功能:移除C/C++程式碼中的注釋 * * 輸入:指向C/C++程式碼的指標 */ void remove_
迴圈隊列是為了充分利用記憶體,進行資料操作的一種基本演算法。具體實現方式可劃分為:鏈式隊列和靜態隊列,這裡所謂的靜態是指在一片連續的記憶體地區進行資料操作。本文只講述靜態隊列,也是最簡單的實現方式,鏈式隊列以及鏈表的實現內容請參見我的其它博文。以下靜態迴圈隊列簡稱為迴圈隊列。 一、迴圈隊列的特點及要素 <1> 先進先出(FIFO); <2> 首尾元素 front 和 rear 的數值; <3> 隊列操作:
//以下基於Debug偵錯模式, map<int, string> mss; clock_t c1, c2; c1 = clock(); for (int i=0; i<500000; i++) { unsigned int lun = 123324; char num[] ="012345678912"; vector<char> vv; //【1】ostringstream
一.queue模版類的定義在<queue>標頭檔中。 queue與stack模版非常類似,queue模版也需要定義兩個模版參數,一個是元素類型,一個是容器類型,元素類型是必要的,容器類型是可選的,預設為dqueue類型。 定義queue對象的範例程式碼如下: queue<int>q1; queue<double>q2; queue的基本操作有: 1.入隊:如q.push(x):將x元素接到隊列的末端; 2.出隊:如q.pop()
在c++ 11 中可以通過auto來推斷string對象長度的實際類型。 size函數返回string對象的長度(即string對象中字元的個數),這樣看來size函數的函數類型是unsigned類型。但是size函數返回的是一個string::size_type類型的值。 但是我們不太清楚什麼是string::size_type但是我們應該瞭解的是這應該是一個無符號的類型的值而且能足夠放下任何string大小的對象。 #include
轉自:http://www.cnblogs.com/shaosks/archive/2011/09/27/2193270.html 解釋了IEnumerable 與 IEnumerator的區別,並使用給出相關執行個體。 轉自:http://blog.csdn.net/byondocean/article/details/6871881 從使用foreach出發一步步解釋IEnumerable的使用。
1、用c語言實現同位 unsigned int v; // 待檢測的數字bool parity = false; //初始判斷標記while (v){ parity = !parity; v = v & (v - 1);} 2、通過構建字典表進行同位: static const bool ParityTable256[256] = { #
1、區分大端小端: 記憶體的低地址存放的資料的高位,就是大端儲存。 記憶體低地址存放資料的低位,就是小端儲存。 2、下面的圖可以清晰理解 3、C++代碼驗證大端還是小端儲存 #include <iostream>using namespace std;int main(){ int nNum = 0x12345678; char chData = *(char*)(&nNum); if (chData == 0x12) {
在C++中,有三大函數複製控制(複製建構函式,賦值操作符,解構函式),而在C++11中,加入了移動建構函式,移動賦值操作符。我就鬥膽將他們命名為六大函數好了。 一、建構函式 c++primer中說過:建構函式是特殊的成員函數,只要建立類類型的新對象,都要執行建構函式。建構函式的工作就是保證每個對象的資料成員具有合適的初始值。 建構函式與其他函數不同:建構函式和類同名,沒有傳回型別。 建構函式與其他函數相同:建構函式也有形參表(可為void)和函數體。
#include<iostream>#include<string>using namespace std;class Animal{public:Animal();Animal(Animal &&animal)noexcept;//移動建構函式應該標記為不拋出異常 Animal(const Animal& animal);Animal& operator=(Animal
C#程式結構 C#程式結構大體可以分為:注釋、命名空間、類、Main方法、標識符、關鍵字。 1.注釋 在開發中注釋非常重要,因為現在很多大型的項目都需要多人協同開發,並引入工程化的方式來管理軟體,這樣的話,團隊成員的溝通就變得很重要,所以良好的注釋可以很大程度上提高你程式的閱讀性。 單行注釋: //這是單行注釋