找到 34423 篇文章 相关的编程

C++ 中的 RAII 和智能指针

Anvi Jain
更新于 2019-07-30 22:30:26

1K+ 阅读量

C++ 中的 RAII RAII(资源获取即初始化)是 C++ 中一种控制资源生命周期的技术。它是一种类变体,与对象的生命周期绑定。它将多个资源封装到类中,其中资源分配在对象创建期间由构造函数完成,资源释放则在对象销毁期间由析构函数完成。资源保证在对象存活期间被持有。示例void file_write {    Static mutex m; //保护文件访问的互斥量    lock_guard lock(m); //访问文件前锁定互斥量    ofstream file("a.txt");    if (!file.is_open()) //如果文件未打开    throw runtime_error("无法打开文件"); ... 阅读更多

C++ 中的指针、智能指针和共享指针

Nishtha Thakur
更新于 2019-07-30 22:30:26

4K+ 阅读量

指针指针用于存储变量的地址。语法类型 *指针;初始化类型 *指针; 指针 = 变量名;函数指针用于存储变量的地址。指针可以分配空值。指针可以通过引用传递来引用。指针在堆栈上拥有自己的内存地址和大小。示例 实时演示#include using namespace std; int main() {    // 一个普通的整数变量    int a = 7;    // 一个保存 a 地址的指针变量。    int *p = &a;    // 存储的值是变量 "a" 的值    cout

在 C/C++ 中删除 void 指针安全吗?

Smita Kapse
更新于 2019-07-30 22:30:26

977 阅读量

Void 指针是不与任何数据类型关联的指针。它指向存储器中的某个数据位置,表示指向变量的地址。它也被称为通用指针。在 C/C++ 中删除 void 指针是不安全的,因为 delete 需要调用它正在销毁的任何对象的析构函数,如果它不知道类型,则无法执行此操作。这是一个 void 指针的简单示例 - 示例 实时演示#include int main() {    int a = 7;    float b = 7.6;    void *p;    p = &a;    printf("整数变量为 = %d",  *( (int*) p) );    p = &b;    printf("浮点变量 ... 阅读更多

如何在 C/C++ 中声明指针变量?

Anvi Jain
更新于 2019-07-30 22:30:26

429 阅读量

指针用于存储变量的地址。要在 C/C++ 中声明指针变量,在其名称前使用星号 (*)。声明*指针名称在 C 中示例 实时演示#include int main() {    // 一个普通的整数变量    int a = 7;    // 一个保存 a 地址的指针变量。    int *p = &a;    // 存储的值是变量 "a" 的值    printf("变量的值:%d", *p);    //它将打印变量 "a" 的地址    printf("变量的地址:%p", p);    // 重新分配值。    *p = 6;    printf("值 ... 阅读更多

如何在 C/C++ 中比较指针?

Nishtha Thakur
更新于 2019-07-30 22:30:26

7K+ 阅读量

如果两个指针指向同一个数组,我们可以比较它们。关系指针可用于比较两个指针。指针不能相乘或相除。在 C 中示例 实时演示#include int main() {    int *p2;    int *p1;    p2 = (int *)300;    p1 = (int *)200;    if(p1 > p2) {       printf("P1 大于 p2");    } else {       printf("P2 大于 p1");    }    return(0); }输出P2 大于 p1在 C++ 中示例#include using namespace std; int main() {    int *p2;    int *p1;    p2 = (int *)300;    p1 = (int *)200;    if(p1>p2) {       cout

C++ 中指向成员函数的函数指针

Smita Kapse
更新于 2019-07-30 22:30:26

12K+ 阅读量

在 C++ 中,当处理类或结构体的成员函数时,函数指针是使用对象指针或 this 调用来调用的。我们只能使用该类型的指针来调用该类的成员(或派生类),因为它们是类型安全的。示例 实时演示#include using namespace std; class AB {    public:       int sub(int a, int b) {          return a-b;       }       int div(int a, int b) {          return a/b;       } }; //使用函数指针 int res1(int ... 阅读更多

C 中的函数指针

Anvi Jain
更新于 2019-07-30 22:30:26

4K+ 阅读量

函数指针像普通指针一样指向代码。在函数指针中,函数名可用于获取函数的地址。函数也可以作为参数传递,也可以从函数中返回。声明函数返回类型(*指针名称)(函数参数列表)示例 实时演示#include int subtraction (int a, int b) {    return a-b; } int main() {    int (*fp) (int, int)=subtraction;    //使用函数指针调用函数    int result = fp(5, 4); printf("使用函数指针得到的结果:%d",result); return 0; }输出使用函数指针得到的结果:1

在 C++ 中,通过指针传递比通过引用传递有什么好处?

Nishtha Thakur
更新于 2019-07-30 22:30:26

458 阅读量

指针可以接收空参数,而引用则不能。只有在想要传递“无对象”时才能使用指针。显式地通过指针传递允许我们在调用点看到对象是通过引用还是通过值传递的。以下是用指针传递和用引用传递的简单示例 - 通过指针传递示例 实时演示#include using namespace std; void swap(int* a, int* b) {    int c = *a;    *a= *b;    *b = c; } int main() {    int m =7 , n = 6;    cout

C/C++ 中指针的应用

Smita Kapse
更新于 2019-07-30 22:30:26

1K+ 阅读量

访问数组元素我们可以使用指针访问数组元素。在 C 中示例 实时演示#include int main() {    int a[] = { 60, 70, 20, 40 };    printf("%d", *(a + 1));    return 0; }输出70在 C++ 中示例 实时演示#include using namespace std; int main() {    int a[] = { 60, 70, 20, 40 };    cout

通过索引从 C++ std::vector<> 中删除元素?

Anvi Jain
更新于 2019-07-30 22:30:26

318 阅读量

可以通过以下方式从 C++ std::vector 中通过索引删除元素 - 示例 实时演示#include #include using namespace std; int main() {    vector v; //声明向量    //将元素插入向量    v.push_back(-10);    v.push_back(7);    v.push_back(6);    //删除第一个元素 (v[0])    v.erase(v.begin() );    for (int i = 0; i < v.size(); i++)       cout

广告

© . All rights reserved.