首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Android知识点总结

    关于正整数、质数与公因数及哥德巴赫猜想

    private List<Integer> blackBox = new ArrayList<>();//黑盒 private int mNum;//传入数据 public PInt * * 判断是否是质数 * * @return */ public static boolean isPrime(int num) { PInt pInt = new PInt(num); return pInt.collectBall().size() == 2; } /** * 获取区域内的所有质数 pInt = new PInt(i); if (pInt.isPrime()) { list.add(i); } pInt = new PInt(510412736); System.out.println(pInt.collectBall()); //[1, 2, 4, 8, 16

    61730发布于 2018-09-02
  • 来自专栏Linux驱动

    24.C++- 抽象类(存虚函数)、接口、多重继承

    = &d; Interface2* pInt2 = &d; cout << "p->getI() = " << p->getI() << endl; // 100 pInt1 ->add(10); pInt2->divide(11); pInt1->minus(5); pInt2->multiply(8); cout << "p->getI( ) = " << p->getI() << endl; // 40 cout << "pInt1 == p : " << p->equal(dynamic_cast<Base*>(pInt1 )) << endl;     cout << "pInt2 == p : " << p->equal(dynamic_cast<Base*>(pInt2)) << endl; cout 以p->equal(dynamic_cast<Base*>(pInt1))为例,我们编译时,编译器就会去检查pInt1所在的地址,然后找到是d对象,通过d对象找到Base父类,从而去修正pInt1指针的地址

    1K60发布于 2018-04-19
  • 来自专栏乐行僧的博客

    linux下检测内存泄漏

    造成内存泄漏 4.使用未进行初始化的对内存 1.使用野指针 test.cpp #include <iostream> using namespace std; int main(){ int *pint = new int;//动态申请内存 *pint = 30; delete pint;//释放内存 cout<<*pint<<endl;//使用野指针 return 0; } g++ test.cpp pint; delete pint; return 0; } g++ test.cpp -g -o test valgrind --tool=memcheck . delete或malloc和free没有配对使用,造成内存泄漏 test.cpp #include <iostream> using namespace std; int main(){ int* pint = new int; *pint = 30; return 0; } g++ test.cpp -o test -g valgrind --tool=memcheck .

    4.2K11编辑于 2022-02-24
  • 来自专栏Android知识点总结

    关于正整数、质数与公因数及哥德巴赫猜想

    private List<Integer> blackBox = new ArrayList<>();//黑盒 private int mNum;//传入数据 public PInt * * 判断是否是质数 * * @return */ public static boolean isPrime(int num) { PInt pInt = new PInt(num); return pInt.collectBall().size() == 2; } /** * 获取区域内的所有质数 pInt = new PInt(i); if (pInt.isPrime()) { list.add(i); } pInt = new PInt(510412736); System.out.println(pInt.collectBall()); //[1, 2, 4, 8, 16

    46930发布于 2018-09-26
  • 来自专栏txp玩Linux

    c语言中typedef的几种用法,你会了吗?

    ) { int a=23; const PINT b=&a; *b=8; /////////////////////////////// ,然后再main函数里面使用了const PINT b =&a,并且改变了a的值,但是奇怪的是,为啥没有报错,这是见了鬼吗(因为PINT是int *的别名嘛,所以const PINT b 应该是const 其实这里就是陷阱了,这里不能这样按照常规的逻辑思维来看理解这个,我们应该把const PINT b=&a看成int * const b=&b,就能理解这里为啥不会报错了,哈哈哈。 下面把PINT的位置调换到const的前面来,用法和这个一样。 #include <stdio.h> typedef int *PINT; int main(void) { int a=23; const PINT b=&a;

    60630编辑于 2022-03-21
  • 来自专栏c语言与cpp编程

    指针变量的传值和传址

    1 引言 举个例子:在func函数退出后,指针pInt所指的内容*pInt为 12 #include <stdio.h> //公众号:C语言与CPP编程 int func(int* pRes) { (pRes == NULL) pRes = new int(12);//分配新的内存空间给指针pRes,并赋值 return 0; } int main () { int *pInt = NULL; int val = func(pInt); printf("%d\n",*pInt); 在main函数中,定义了指针pInt,调用func函数,把pInt作为参数传入func函数中。结果*pInt并不是 12。 = NULL; int val = func(pInt); printf("%d\n",*pInt); return 0; } 2 传值、传引用区别和联系 传值:实参拷贝传递给形参

    3K30发布于 2020-12-02
  • 来自专栏c语言与cpp编程

    指针变量的传值和传址

    来源:公众号(c语言与cpp编程) 1 引言 举个例子:在func函数退出后,指针pInt所指的内容*pInt为 12 #include <stdio.h> //公众号:C语言与CPP编程 int func (pRes == NULL)     pRes = new int(12);//分配新的内存空间给指针pRes,并赋值      return 0; } int main () {     int *pInt  = NULL;     int val = func(pInt);     printf("%d\n",*pInt);                                             在main函数中,定义了指针pInt,调用func函数,把pInt作为参数传入func函数中。结果*pInt并不是 12。  = NULL;     int val = func(pInt);     printf("%d\n",*pInt);        return 0; } 2 传值、传引用区别和联系 传值:实参拷贝传递给形参

    3.7K40发布于 2020-10-22
  • 来自专栏c语言与cpp编程

    c语言中typedef的几种用法,你会了吗?

    ---- 这里你会看到,有一个报错,这个错误很好理解,不足为怪,但是上面的typedef定义的int *类型的指针,取了一个别名叫PINT,然后再main函数里面使用了const PINT b =&a,并且改变了a的值,但是奇怪的是,为啥没有报错,这是见了鬼吗(因为PINT是int *的别名嘛,所以const PINT b 应该是const int * b=&a,那不是应该报错嘛,可却没有报错 其实这里就是陷阱了,这里不能这样按照常规的逻辑思维来看理解这个,我们应该把const PINT b=&a看成int * const b=&b,就能理解这里为啥不会报错了,哈哈哈。 下面把PINT的位置调换到const的前面来,用法和这个一样。 #include <stdio.h> typedef int *PINT; int main(void) { int a=23; const PINT b=&a;

    90410发布于 2020-12-02
  • 来自专栏全栈程序员必看

    typedef和define具体的具体差别

    都为指向int的指针,typedef为int* 引入了一个新的助记符 这也说明了为什么以下观点成立 //QunKangLi(维护成本与程序猿的创造力的平方成正比) typedef int * pint ; #define PINT int * 那么: const pint p ;//p不可更改,但p指向的内容可更改 const PINT p ;//p可更改,可是p指向的内容不可更改。 pint是一种指针类型 const pint p 就是把指针给锁住了 p不可更改 而const PINT p 是const int * p 锁的是指针p所指的对象。 请看上面第一大点代码的第三行: typedef (int*) pINT;以及以下这行:#define pINT2 int* 效果同样?实则不同! 实践中见差别:pINT a,b;的效果同int *a; int *b;表示定义了两个整型指针变量。而pINT2 a,b;的效果同int *a, b;表示定义了一个整型指针变量a和整型变量b。

    87310编辑于 2022-07-13
  • 来自专栏开源技术小栈

    Mago 刚刚用 Rust 重写了所有 PHP 工具?

    传统 PHP 工具如 Pint(基于 PHPCS Fixer)和 PHPStan 都是用 PHP 写的,虽然功能强大,但处理大型项目时速度较慢。 性能测试 格式化速度:用 Pint 格式化 7 个文件需要 0.4 秒,而 Mago 只用了 20 毫秒——快了 20 倍! 在更大项目上,Mago 的基准显示它比 Pint 快 45 倍,比 PHPCS Fixer 快更多。 Nuno 注意到,它与 Pint 的 Laravel 预设略有差异(如匿名函数的空格处理)。用 --dry-run 可以预览变化,而不实际修改文件。 在几毫秒内完成,但输出不如 Pint 详细(缺少具体变更列表)。

    51910编辑于 2025-09-11
  • 来自专栏大猪的笔记

    C#笔记:使用Unsafe代码与结构体

    { int* pInt = pIntStart;//引用一个临时指针用来指向传入的inputList //开始循环创建链表 for (int i = 0 ; i < length; i++) { if(pInt==null) { throw new Exception 未知错误使传入数组为null"); } Node* temp = CreateNode(*pInt, "节点 分配内存失败"); listTail->next = temp; listTail = listTail->next;//把位置指针指向下一个节点 pInt

    1.5K20发布于 2019-11-22
  • 来自专栏python3

    python入门基础教程05 Pytho

    >>>len = "www.jeapedu.com">>> pint(len) Traceback (most recent call last):   File "<pyshell#38>", line  1, in <module>     pint(len)NameError: name 'pint' is not defined >>> 从上边IDLE-Shell反馈NameError: name ’pint’ is not defined,可以看出pint 函数没有定义,应该是函数print少了个r字母。

    1.2K10发布于 2020-01-15
  • 来自专栏木杉の小屋

    指针(二)-指针与函数

    指针基础(二)-指针与函数 一 指针函数 返回值类型是指针的函数 #include typedef int* Pint; Pint function(); int main() { Pint p , *p); // 结果: 一串无意义的随机数 //此处function函数中的指针pn只能存活在函数一次调用结束 //因此这里仅仅验证函数可以返回指针类型 return 0; } Pint

    68260发布于 2021-04-02
  • 来自专栏明志德到的IT笔记

    C#利用控件实现柱形图分析

    s.Height = Convert.ToInt32(f / Values * 200); //计算柱形图高度 Point pint = new Point(); //创建Point对象 pint.X = XValse; //x坐标 pint.Y = this.Height - 50 - s.Height; //y坐标 Panel(); //实例化一个Panel对象 p[i].Location = pint

    42710编辑于 2023-10-21
  • 来自专栏测试开发架构之路

    C语言之预处理命令与用typedef命名已有类型

    但它并不实际分配内存空间,实例像:   typedef    int       INT;   typedef    int       ARRAY[10];   typedef   (int*)   pINT 请看上面第一大点代码的第三行:   typedef    (int*)      pINT;   以及下面这行:   #define    pINT2    int*   效果相同?实则不同! 实践中见差别:pINT a,b;的效果同int *a; int *b;表示定义了两个整型指针变量。而pINT2 a,b;的效果同int *a, b;表示定义了一个整型指针变量a和整型变量b。 1. Typedef int * pint; #define PINT int * Const pint p;//p不可更改,p指向的内容可以更改,相当于 int * const p; Const PINT p;//p可以更改,p指向的内容不能更改,相当于 const int *p;或 int const *p; pint s1, s2; //s1和s2都是int型指针 PINT s3,

    2K90发布于 2018-04-03
  • 来自专栏禹都一只猫博客

    GO 语言简介 — 语法

    three => 3 one => 1 two => 2*/ } } 指针 Go语言一样有指针,看代码 var i int = 1 var pInt *int = &i //输出:i=1 pInt=0xf8400371b0 *pInt=1 fmt.Printf("i=%d\tpInt=%p\t*pInt=%d\n", i, pInt , *pInt) *pInt = 2 //输出:i=2 pInt=0xf8400371b0 *pInt=2 fmt.Printf("i=%d\tpInt=%p\t*pInt=%d \n", i, pInt, *pInt) i = 3 //输出:i=3 pInt=0xf8400371b0 *pInt=3 fmt.Printf("i=%d\tpInt=%p\t *pInt=%d\n", i, pInt, *pInt) 内存分配 new 是一个分配内存的内建函数,但不同于其他语言中同名的new所作的工作,它只是将内存清零,而不是初始化内存。

    1.6K10发布于 2018-08-02
  • 来自专栏猿人谷

    delete与 delete []区别

    delete与New配套,delete []与new []配套 MemTest*mTest1=newMemTest[10]; MemTest*mTest2=newMemTest; int*pInt1=newint [10]; int*pInt2=newint; delete[]pInt1; //-1- delete[]pInt2; //-2- delete[]mTest1;//-3- delete[]mTest2

    1.7K80发布于 2018-01-17
  • 来自专栏韩曙亮的移动开发专栏

    【C++】函数指针 ② ( 数组类型基本语法 | 数组语法 | 数组首元素地址 和 数组地址 | 定义数组类型 | 定义指针数组类型语法 | 直接定义指针数组类型变量语法 )

    pArrayType 是 定义的指针数组类型名称 ; size 是 数组大小 ; 定义指针数组类型示例 : 下面是定义了 指针数组类型 , 指向 有 5 个 int 类型的数组 , 数组类型名称为 pInt5ArrType ; // 定义指针数组类型 , 这是一个指向数组的指针 // 指向的数组类型是 int[5] 类型 typedef int (*pInt5ArrType)[5]; 使用定义的指针数组类型 , 声明并初始化一个指针数组变量 // int(*)[5] 是 指向 int[5] 类型数组的指针 // 这里不使用 typedef 定义的 指针数组类型 , 直接定义指针数组类型的变量 // 该操作等同于 pInt5ArrType d\n", sum); // 注意 : 将 数组地址 &myArray 赋值给 指针数组类型 // 不要把 数组首元素地址 myArray 赋值给 该变量 , 否则会出错 pInt5ArrType // int(*)[5] 是 指向 int[5] 类型数组的指针 // 这里不使用 typedef 定义的 指针数组类型 , 直接定义指针数组类型的变量 // 该操作等同于 pInt5ArrType

    1.1K30编辑于 2023-11-13
  • 来自专栏技术之路

    typedef 和define的区别

    typedef 是在编译阶段,会进行类型检查 作用域不同     #define 无论在哪定义过,在其它的地都可以使用     typedef 只能在定义的作用域内使用 对指针的操作不一样 #define PINT int * typedef int * pint; int a =3; int b =5; const pint p1=&a; //相当于 int * const p1 ; p1 不可以更改但指向的内容能被修改 *p1=1; p1=&b; //error const PINT p2 =&a;//相当于 const int * p2; p2

    1.5K70发布于 2018-01-31
  • 来自专栏CPP开发前沿

    浅谈C++回调函数的实现

    具体如下面代码所示: typedef int (*Ptr)(int,int); int add(int a,int b){ return (a+b); } int main() { Ptr pInt = add; cout<<pInt(3,5)<<endl; return 0; } 2 C风格的回调函数 上面的代码是将一个函数地址赋值给了函数指针,下面将函数作为回调函数的参数的方式进行处理 代码如下: typedef int (*Ptr)(int, int); int CallBack(Ptr pInt, int a, int b) { return pInt(a, b); } int typedef int (*Ptr)(int,int); int RegFuncation(Ptr pInt,int a,int b){ return pInt(a,b); } class COperMath

    2.7K10编辑于 2022-03-03
领券