C/C++ で働かす Raspberry Pi 3
Raspberry Pi(ラズベリーパイ)に興味があって、借りましたが、80%ぐらいがC++の総まとめです。残したい内容を整理します。
1.変数
---------------
int num=100; //copy initialization
---------------
を
---------------
int num(100); //direct initialization
---------------
にも可能です。
copy initialization,direct initialization は違うことです。。。
Is there a difference in C++ between copy initialization and direct initialization?
初期化してないままで確認してみると違いました。
---------------
int num; -> 0 (false)
int num(); -> 1 (true)
---------------
2.cmathライブラリー
---------------
#include <cmath>
...
pow(2,3) -> 2の3乗 -> 8
sqrt(2) -> 2の平方根 -> 1.41421
M_PI -> パイ -> 3.14159
---------------
<cmath> (math.h)
3.ビット演算
---------------
int a=1;
int b=a << 2; -> 2bit 左に移動-> 0001 -> 0100 -> 4
---------------
4.bitsetライブラリー
---------------
#include <bitset>
..
bitset<4> a; -> 4bitの変数を宣言 -> 0000
a.set(2); -> 3番目に 1を設定(右から 0を2つ過ぎて) -> 0100
bitset<4> a=1UL; -> 1を 4bitに-> 0001
bitset<4> a=2UL; -> 2を 4bitに-> 0010
bitset<4> a=3UL; -> 3を 4bitに-> 0011
bitset<4> a=4UL; -> 4を 4bitに -> 0100
---------------
std::bitset
5.vectorベクトル
---------------
#include <vector>
..
vector<int> v(5,1); -> int[5]={1,1,1,1,1} と同じく 5の要素を1に初期化
v.size() -> 要素の数 -> 5
v.empty() -> 空 1 (true), 空ではない 0 (false)
---------------
std::vector
6.pointerポインター
---------------
#include <iostream>
using namespace std;
void change(int* numP)
{
(*numP)++;
-> ()がないと演算子優先順位によって ++ が先に処理され
メモリアドレスにある値ではなくメモリアドレス自体が変わります。
}
int main(void)
{
int num=1;
cout << num << endl; -> 1
change(&num);
cout << num << endl; -> 2
return 0;
}
---------------
7.メモリの動的な確保(new)と解放(delete)
---------------
#include <iostream>
using namespace std;
int main(void)
{
int* arr=new int[3]; -> Hip領域にメモリ確保 (Cの mallocと同一)
arr[0]=0;
arr[1]=1;
arr[2]=2;
for(int i=0;i<3;i++)
cout << arr[i] << endl;
delete[] arr; -> Hip領域のメモリ解放 (Cの freeと同一)
-> delete arr; も同じことでした。
for(int i=0;i<3;i++)
cout << arr[i] << endl;
return 0;
}
---------------
メモリの動的な確保と解放関連はまた調査して改めて整理したいと思います。
Part 1 。。。終わり
Part 2: string,sizeof,goto,try-throw-catch...C++ 本を返却する前の細々しいもの整理(C/C++ で働かす Raspberry Pi 3)
Part 1: 메모리동적할당-해제,cmath,bitset....C++ 책 반납 전 소소한 정리(C/C++ 로 작동시키는 Raspberry Pi 3)
피드 구독하기:
댓글 (Atom)
1、2、QWER! in OSAKA (大阪 2025/4/10(木) Yogibo META VALLEY)
https://www.creativeman.co.jp/event/qwer-osaka/ QWER - CREATIVEMAN PRODUCTIONS 主催:LIVET 企画:ソニー・ミュージックソリューションズ 招聘:クリエイティブマンプロダクション 制作協力:クリエイテ...
-
スーパーマリオのような横スクロールケームによくでる地形があります。 空中に浮かんで左右無限反復するので ちゃんとタイミングを合わせて乗る必要がある地形です。 基本決定 ---------- 2D プロジェット作成 1.GameObject >>2D O...
-
6년은 결코 짧은 세월이 아니네요. 애기들이네요. 어딘가에 있었을 나를 찾아봤는데.. 못찾겠네요. 맨 앞의 분들은 좋겠다는 생각을 해봅니다.

댓글 없음:
댓글 쓰기