目前分類:C/C++ (15)
- Jun 27 Thu 2024 10:16
VS2017呼叫matplotlib for C++
- Jun 25 Tue 2024 10:55
c++標準函式庫vector和list範例
std::vector
:
- 最適合頻繁的隨機訪問。
- 在尾端進行插入和刪除操作效率高。
- 由於連續存儲,緩存性能更好。
std::list
:
- 最適合在任意位置頻繁插入和刪除元素。
- 隨機訪問效率低。
- 無需重新分配內存,因此在插入和刪除操作期間,迭代器和引用保持有效。
選擇std::vector
適用於隨機訪問和緩存性能重要的場景,
- Jun 25 Tue 2024 10:27
c++標準函式庫pair
std::pair<double, double> 是標準C++函式庫中其中一種樣板,
- Jan 23 Wed 2019 11:34
c++非同步儲存影像 – Part II
在 c++非同步儲存影像 – Part I 我們提到一個問題
錯誤 C1189 #error: <future> is not supported when compiling with /clr or /clr:pure.
- Jan 23 Wed 2019 10:19
c++非同步儲存影像 – Part I
- Oct 19 Thu 2017 09:44
Code::Blocks 16.01 Installation
- Jan 26 Thu 2017 02:07
Function Pointer and Typedef
看了網路上[1]有關Function Pointer, 感覺Function Pointer使用語法很累贅, 於是聯想到typedef來簡化
原本累贅的語法
double (*PtrFun)(double a, double b)
只要前面多加一個typedef, 呼叫上就會變得比較親民
typedef double (*PtrFun)(double a, double b)
例如我想要一個四則運算的功能
PtrFun p[4]{ OperatorAdd, OperatorSub, OperatorMul, OperatorDev };
宣告一個PtrFun資料型態,存放四個函式指標(即為函式名稱)
OperatorAdd, OperatorSub, OperatorMul, OperatorDev
1: #include "stdafx.h"
2: #include <stdio.h>
3: #include <iostream>
4:
5: typedef double (*PtrFun)(double a, double b);
6: using namespace std;
7: double OperatorAdd(double a, double b);
8: double OperatorSub(double a, double b);
9: double OperatorMul(double a, double b);
10: double OperatorDev(double a, double b);
11:
12: int main()
13: {
14: int i;
15: double a = 4, b = 2;
16: char* info[4] = { "+","-","x","/" };
17: PtrFun p[4]{ OperatorAdd, OperatorSub, OperatorMul, OperatorDev };
18: for (i = 0; i < 4; i++)
19: {
20: cout << a << info[i] << b << " = " << p[i](a, b) << endl;
21: }
22:
23: return 0;
24: }
25:
26: double OperatorAdd(double a, double b)
27: {
28: return a + b;
29: }
30: double OperatorSub(double a, double b)
31: {
32: return a - b;
33: }
34: double OperatorMul(double a, double b)
35: {
36: return a*b;
37: }
38: double OperatorDev(double a, double b)
39: {
40: double ret = (b == 0 ? 0 : a / b);
41: return ret;
42: }
- Apr 11 Mon 2016 14:32
C++如何載入一個純文字的資料(*.txt)至一個陣列資料格式?
下載 Boost C++ Libraries 依照你的Visual Studio 選擇適合的版本
- Mar 27 Sun 2016 16:50
安裝GLUT - The OpenGL Utility Toolkit
- Mar 25 Fri 2016 08:35
Boost Library Version 1.60.0
到 http://www.boost.org/ 下載最新版本
- May 14 Thu 2015 11:11
Some Good Stuff for Open Source and a Different IDE
- May 06 Wed 2015 16:52
編譯 xbee ansic library
- 下載 https://github.com/digidotcom/xbee_ansic_library
- 安裝MinGW - Minimalist GNU for Windows
- 確認系統變數Path包含C:\MinGW\bin
- Apr 01 Wed 2015 13:40
Line Feed在ASCII和Binary模式的差異
CR+LF ('\r\n', 0x0D 0x0A)
- Dec 05 Thu 2013 22:00
C++Builder for iOS預覽發表會
今天很高興參加C++ Builder for iOS預覽發表會, 現場有李維大師親自講解有關C++ Builder的發展。
- May 25 Sat 2013 05:51
BCB6 讀取Gif影像
請直接加入GifImage.pas和GifImage.hpp至專案,