首页 > TAG信息列表 > 指针

NET高性能编程 - C#如何安全

前言作为.net程序员,使用过指针,写过不安全代码吗?为什么要使用指针,什么时候需要使用它,以及如何安全、高效地使用它?如果能很好地回答这几个问题,那么就能很好地理解今天了主题了。C#构建了一个托管世界,在这个世界里,只要不写不安全代码,不操作指针,那么就能获得.Net至关重要的安全保障,即什

windows socket网络编程--事件选择模型

Winsock提供了另一种有用的异步事件通知I/O模型——WSAEventSelect模型。这个模型与WSAAsyncSelect模型类似,允许应用程序在一个或者多个套接字上接收基于事件的网络通知。它与 WSAAsyncSelect模型类似是因为它也接收FDXXX类型的网络事件,不过并不是依靠Windows的消息驱动

Java-快速排序算法-单指针和双指针

快速排序算法——Java 经典代码,数组指针推进一直与第一个元素比较大小,进行移位 不稳定算法  单指针快速排序 public class Main { public static void main(String[] args) { int[] arr = { 10, 3, 5, 4, 2, 11, 5 }; quickSort(arr, 0, arr.length - 1); System.out.pri

链表知识简单总结

常见链表知识 链表(Linked List):一种线性表数据结构。它使用一组任意的存储单元(可以是连续的,也可以是不连续的),来存储一组具有相同类型的数据。 分为:双向链表、循环链表。实际做题常见的还是单链表非循环的 链表排序 对于链表排序而言,因为链表不支持随机访问,访问链表后面的节点只能依

Brainfuck是什么

Brainfuck是什么 Brainfuck是一种极小化的计算机语言, 它是由Urban Müller在1993年创建的。 由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf**k,甚至被简称为BF。 Brainfuck 由八种运算符构成, 它基于一个简单的机器模型,出了指令, 这个机器还包括: 一个字节为单位、被

c++ Primer 第二章 变量和基本类型

2.1 基本内置类型 包括算术类型和空类型 2.1.1 算术类型 带符号类型和无符号类型 带符号类型:可以表示正数、负数或0 无符号类型:仅能表示大于0的值 2.1.2 类型转换 #include <iostream> int main() { bool b = 42; // b为真 int i = b; // i为1 std::cout << b << " " << i

C++ 自定义隐式转换

operator bool() const 我们经常用这个来自定义类型对bool的隐式转换,比如智能指针类型就定义了这个隐式转换,来让智能指针对象可以直接用在判断语句中,判断管理的指针是否为nullptr。 operator TypeXX() const 上述的用法有一个更为一般化的隐式类型转化定义。在函数调用中,可能伴随

关于指针初始化为NULL的一些问题

关于指针初始化问题,先看以下代码; #include <stdio.h>​typedef struct{   char data[128];   int top;​} Stack;​void push(Stack *stack, char c){   stack->data[++stack->top] = c;}char pop(Stack *stack){   return stack->data[stack->top--];}int main(){  

刷题 | 查找单链表倒数第k个结点

问题描述: 算法思想: 声明两个结点指针p和q,初始化时均指向链表第一个有效结点; 先令q保持不动,p指针遍历链表至第k个结点停止; 然后启动q指针,q和p从各自位置开始同时遍历链表,直至p遍历结束,此时q指针指向的即为链表倒数第k个位置上的结点。 代码实现(C语言): int SearchNode(LinkList he

探索 C 语言的指针

指针的概念 指针也就是内存地址,指针变量是用来存放内存地址的变量。指针没有实际的值,在使用变量的时候不要错以为指针等于变量。指针是门牌号,房间是变量,房间里的东西是变量的值。 房间有户型,三室一厅、二室一厅等。不管房间是什么类型的,门牌号都是唯一的。只要有门牌号我就能无误

奇怪的编译器“bug”

今天看到一个很有意思的代码,一不小心,就会被绕进去,会对结果感到很奇怪,以为是编译器的bug 我们定义一个变量a,再获取一下这个变量对应的地址,后面会用到 获取到局部变量a存的地址为0028ff44,在我的C-Free上测试过,每次运行第一个局部变量都是这个地址。     例1: 执行完 *p=NULL 后 

类nullptr指针指向成员函数

C++空指针可以调用类成员函数,但是【不能调用】类中的【虚函数】     一个对象的指针可以调用它的成员函数和虚函数, 那么如果一个指向空nullptr的指针,能不能调用它的成员函数和虚函数。             ``` #include<iostream> using namespace std;     class A {

再谈指针和数组

指针和数组很多情况下,用法差不多,数组也被隐性转换成指针用,但是不能说数组就是指针,代表的是完全不同的东西。 定义数组的时候会分配一些类型相同的元素空间,而指针只不过是指向某一类型空间的地址而已,本身是一个数据类型,类型的值就是一个地址而已。 之所以很多情况下感觉类似,是因为

4.git总结

一,git概述 1.git:分布式版本控制系统 2.git工作机制    3.代码托管中心=远程库4.代码托管中心局域网:GitLab互联网:GitHub   Gitee 码云5.git的版本控制都是在本地库中做的 二,git常用命令 1.git工作流程图     2.git常用命令 git init              初始化本地库

p8

          指针变量使用箭头, 普通变量(*P).    用点        传地址会更加节省空间 省时间  

【C++】关键字合集

inline、volatile、#define、typedef、const、static const 常量指针:比如整型指针指向的是一个整型,所以常量指针说的是指向一个常量的指针,那么也就是说指向的内容不可以被修改,因为指向的是一个常量 常量指针指向的对象不能通过这个指针来修改,但是仍然可以通过原来的声明修改;

C++ 指针与整数之间、指针与指针之间的加减运算

1.指针与整数之间的加减运算: 1)指针加减数字表示的意义是指针在数组中位置的移动; 对于整数部分而言,它代表的是一个元素,对于不同的数据类型,其数组的元素占用的字节是不一样的, 比如指针 + 1,并不是在指针地址的基础之上加 1 个地址,而是在这个指针地址的基础上加 1 个元素占用的字节数:

20201320第二周学习笔记

I/O库函数 本章讨论了 I/O库函数;详细介绍了IO库函数的算法,包括fread、 fwrite和fclose的算法,重点介绍了它们与read、write和close系统调用的交互;介绍了 I/O 库函数的不同模式,包括字符模式、行模式、结构化记录模式和格式化IO操作;阐述了文件流缓冲方案,并通过示例程序说明了

mitudesk的python 日记 iter与next

1. 在python中凡是实现了iter()的类都是可迭代对象,可以通过iteration对其进行迭代 2. 从抽象的角度来讲,可迭代对象会维护两个指针,一个是初始指针,一个是游标指针 初始指针不可修改,使用iter()得到的一直是游标指针 游标指针在某些操作,比如next(iter())的情况下不会增加,也就是说next

C++学习面向对象(1)——类的基本概念知识

C#和C++的部分面向对象方式类似,只记录不同点。 定义类与关键字: 下面是C++类的定义方式与C++关键字public和private的表达方式: class Box { private: // 私有成员 public: // 公共成员 }; 函数: 在类内定义的函数被隐式声明为内联函数 构造函数: 如果没有给指针类型和基本

C++ 指针的访问

1.访问指针 #include <iostream> #include <windows.h> #include <string> using namespace std; int main() { int room = 2; int room1 = 3; int* p1 = &room; int* p2 = p1; int* p3 = p1; printf("room的地址:%d\n"

leetcode27-移除元素

      https://leetcode.cn/problems/remove-element/ 首先是自己想的铸币解法。先进行排序,那么目标数字就连续聚在一起。等快指针移动到最后一个目标值得下一个元素就开始进行赋值操作。然后快指针和慢指针不断同步地右移进行赋值操作,直到快指针移动到最后一个元素,两个指针都

浅谈双指针技巧(三)利用快慢指针,查找链表中指定位置节点

前面两篇文章主要介绍了,快慢指针在链表环中的应用。除此之外,我们还常常利用快慢指针来查找单向链表中指定位置的节点。常见的经典题目有:1、查找倒数i位置的的节点2、查找中间节点我们依次来看一、查找快慢指针查找单链表中位于倒数第i个位置的元素力扣 剑指 Offer 22. 链表中倒数

138. 复制带随机指针的链表

138. 复制带随机指针的链表 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针

Leetcode19 删除链表的倒数第N个结点

浅浅的一点感想 这题很明显用快慢指针就行了,但是有一些语法上的细节,就是我自己在写的时候报了个错 //源代码大概如下 ListNode* fast=head,*slow=head; while(fast->next!=nullptr){ slow=slow->next; fast=fast->next; } 第一次我这么写报错,说我没有对空指针判断,最后我在whi