函数:
声明和定义函数
int square(int num) {
return num * num;
}
调用函数
int square(int num);
int result = square(5);
std::cout << result << std::endl; // 输出: 25
指针:
声明和使用指针
int num1 = 10;
int* ptr = &num1;
std::cout << *ptr << std::endl;
在 C++ 中,*
和 &
是用于指针操作的运算符。
-
*
运算符用于解引用指针,即获取指针所指向的值。在表达式*ptr
中,ptr
是一个指针变量,*ptr
表示获取指针ptr
所指向的值。 -
&
运算符用于获取变量的地址,即取址操作。在表达式&num1
中,num1
是一个变量,&num1
表示获取变量num1
的地址。
所以,int* ptr = &num1;
这行代码将整数变量 num1
的地址赋值给整型指针 ptr
。这样,指针 ptr
就指向了变量 num1
的位置。通过解引用 *ptr
,我们可以访问并操作指针 ptr
所指向的变量 num1
的值。
指针可以用于直接操作内存地址,对于某些情况下需要直接访问内存或动态分配内存的场景非常有用。然而,指针使用时需要小心,确保正确地初始化和释放指针,并避免悬挂指针、内存泄漏等问题。
动态内存分配
int* nums = new int[5];
nums[0] = 1;
nums[1] = 2;
delete[] nums;
字符串:
声明和操作字符串
#include <string>
std::string greeting = "Hello";
std::string name = "Jolin";
std::string message = greeting + " " + name;
std::cout << message << std::endl; // 输出: Hello John
获取字符串长度
std::string str = "Hello";
int length = str.length();
std::cout << length << std::endl; // 输出: 5
结构体:
声明和定义结构体
struct Point {
int x;
int y;
};
Point p;
p.x = 2;
p.y = 3;
std::cout << p.x << ", " << p.y << std::endl; // 输出: 2, 3
文件操作:
写入文件
#include <fstream>
ofstream file("example.txt");
if (file.is_open()) {
file << "Hello, World!";
file.close();
}
读取文件
ifstream file("example.txt");
string line;
if (file.is_open()) {
while (getline(file, line)) {
cout << line << endl; // 输出: Hello, World!
}
file.close();
}
这些是C++入门学习的进阶基础知识和具体例子。