Skip to content

Commit

Permalink
add 13
Browse files Browse the repository at this point in the history
  • Loading branch information
archibate committed Dec 12, 2021
1 parent 5233c81 commit 9e7dd05
Show file tree
Hide file tree
Showing 10 changed files with 103 additions and 0 deletions.
5 changes: 5 additions & 0 deletions 02/12/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.12)
set(CMAKE_CXX_STANDARD 17)
project(hellocpp LANGUAGES CXX)

add_executable(cpptest main.cpp)
25 changes: 25 additions & 0 deletions 02/12/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include <cstdio>
#include <cstdlib>

struct C {
C() {
printf("分配内存!\n");
}

~C() {
printf("释放内存!\n");
}
};

int main() {
C *p = new C;

if (rand() != 0) {
printf("出了点小状况……\n");
// delete p; // 程序员粗心忘记释放指针
return 1;
}

delete p;
return 0;
}
5 changes: 5 additions & 0 deletions 02/12/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
set -e

cmake -B build
cmake --build build
build/cpptest
5 changes: 5 additions & 0 deletions 02/13/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.12)
set(CMAKE_CXX_STANDARD 17)
project(hellocpp LANGUAGES CXX)

add_executable(cpptest main.cpp)
24 changes: 24 additions & 0 deletions 02/13/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include <cstdio>
#include <cstdlib>
#include <vector>

struct C {
C() {
printf("分配内存!\n");
}

~C() {
printf("释放内存!\n");
}
};

int main() {
std::vector<C> p(1);

if (rand() != 0) {
printf("出了点小状况……\n");
return 1; // 自动释放 p
}

return 0; // 自动释放 p
}
5 changes: 5 additions & 0 deletions 02/13/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
set -e

cmake -B build
cmake --build build
build/cpptest
5 changes: 5 additions & 0 deletions 02/14/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.12)
set(CMAKE_CXX_STANDARD 17)
project(hellocpp LANGUAGES CXX)

add_executable(cpptest main.cpp)
24 changes: 24 additions & 0 deletions 02/14/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include <cstdio>
#include <cstdlib>
#include <vector>

struct C {
C() {
printf("分配内存!\n");
}

~C() {
printf("释放内存!\n");
}
};

int main() {
std::vector<C> p(1);

if (rand() != 0) {
printf("出了点小状况……\n");
return 1; // 自动释放 p
}

return 0; // 自动释放 p
}
5 changes: 5 additions & 0 deletions 02/14/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
set -e

cmake -B build
cmake --build build
build/cpptest
Binary file modified 02/slides.pptx
Binary file not shown.

0 comments on commit 9e7dd05

Please sign in to comment.