ICode9

精准搜索请尝试: 精确搜索
  • 【C语言】求质数(素数)的三种方法2022-07-20 21:33:52

      C语言中求质数的三种方法: 1.试除法,根据质数的定义,对每个数字no进行(2~no-1)的试除 2.排除偶数法,2的倍数(除2之外),都不是质数 3.排除偶数法的基础上,对奇数进行奇数的试除 4.在奇数里面,判断no能否被 小于no的质数 整除 5.使用math函数的sqrt,试除法的改进,对数字进行(2~sqrt(no))的试除

  • Linked List2022-07-13 00:35:57

    Add a node at linked list end #include <stdio.h> #include <stdlib.h> //malloc typedef struct node{ int data; struct node* next; }*list; list add_node_end(list ptr,int data) { list temp = (list*)malloc(sizeof(list)); temp ->

  • weak_ptr智能指针2022-07-12 14:36:21

    1.C++11 weak_ptr智能指针(一看即懂) 2.C++智能指针weak_ptr详解

  • 大端和小端以及如何区分2022-07-11 13:01:01

    假设我们存一个数据0x12345678 这是一个16进制的数据 我们知道一个字节有8位,一个16进制的数占4位,而内存空间他是以字节为基本单位的。 大端存储是从低地址到高地址依次存入数据,小端存储则是从高地址到低地址依次存入。 以上面数据为例子 大端存储:12 34 56 78 12在最低的地址上 小

  • 智能指针思想实践(std::unique_ptr, std::shared_ptr)2022-07-09 19:02:19

    1 smart pointer 思想 ​ 个人认为smart pointer实际上就是一个对原始指针类型的一个封装类,并对外提供了-> 和 * 两种操作,使得其能够表现出原始指针的操作行为。 ​ 要理解smart pointer思想首先要了解一个概念RAII(Resource Acquisition Is Initialization), 直译为资源获取即

  • C++11特性小结2022-07-09 16:01:20

    一、关键字   (1)新增关键字:thread_local、static_assert、nullptr、noexcept、decltype、constexpr、char32_t、char16_t、alignof、alignas     thread_local:实现了线程局部存储,让每个线程都独立访问数据,互不干扰;thread_local 标记的变量在每个线程里都会有一个独立的副本,是

  • 分时频闪应用2022-07-08 00:01:31

    一、应用场景   在工业应用中有很多产品需要需要检测多个缺陷,例如手机玻璃屏的划伤检测、凹凸点检测、脏污、崩边、等等一系列的检测。这些检测内容又不可能用一套视觉方案去解决、但是如果用多工位分别检测会有这样两个弊端:第一个在安装空间上可能不允许,第二个可能成本也会大大

  • 关于 uintptr_t和intptr_t 类型2022-07-03 23:00:40

    简介 最近在看代码时,发现了两个之前没见过的数据类型:intptr_t,uintptr_t。这两个数据类型是ISO C99定义的,具体代码在linux平台的/usr/include/stdint.h头文件中。 /* Types for `void *' pointers. */ #if __WORDSIZE == 64 # ifndef __intptr_t_defined typedef long int intptr

  • 021 指针思考2022-06-29 02:32:15

      /* 目录: 一 C原理 二 汇编原理 */ 一 C原理 void change(int** p2) { printf("p2 = 0x%x, *p2 = 0x%x\n", p2, *p2); printf("*p2 = 0x%x, *8p2 = %d\n", *p2, **p2); } int main() { int i = 3; printf("&i = 0x%x, i = %d

  • Level 1 (day 4)2022-06-26 23:01:49

    第一题 题目链接:https://leetcode.cn/problems/middle-of-the-linked-list/ 个人题解:双指针,快指针走到尾,慢指针就走到中间了 代码: class Solution { public: ListNode* middleNode(ListNode* head) { auto f=head,s=head; while(f && f->next){ s

  • c++中智能指针的使用,个人总结2022-06-25 17:00:31

    一、什么是智能指针   一般来讲C++中对于指针指向的对象需要使用new主动分配堆空间,在使用结束后还需要主动调用delete释放这个堆空间。为了使得自动、异常安全的对象生存期管理可行,就出现了智能指针这个概念。简单来看智能指针是 RAII(Resource Acquisition Is Initialization,

  • 智能指针2022-06-24 13:32:03

    1.什么是智能指针 从比较简单的层面来看,智能指针是RAII(Resource Acquisition Is Initialization,资源获取即初始化)机制对普通指针进行的一层封装。这样使得智能指针的行为动作像一个指针,本质上却是一个对象,这样可以方便管理一个对象的生命周期。 在c++中,智能指针一共定义了4种:aut

  • unique_ptr 的简单实现2022-06-22 20:01:29

      template <typename T> class poor_unique_ptr { public: explicit poor_unique_ptr(T* ptr=nullptr): ptr_(ptr) {}; ~poor_unique_ptr() { if (ptr_) { delete ptr_; } } // 删除拷贝构造和拷贝赋值 poor_unique_ptr(cons

  • 为什么 C# 访问 null 字段会抛异常?2022-06-21 09:05:16

    一:背景 1. 一个有趣的话题 最近在看 硬件异常 相关知识,发现一个有意思的空引用异常问题,拿出来和大家分享一下,为了方便讲述,先上一段有问题的代码。 namespace ConsoleApp2 { internal class Program { static Person person = null; static void Main(st

  • VC++中的std::function比较问题2022-06-17 11:03:02

    在VC++中,一个std::function对象会根据情况被编译成多种情况,函数指针,函数对象(lambda),其中还涉及了优化等问题。 对于函数对象来说,常规的手段没有任何办法可以做比较,所以只能去二进制层面看看底层数据。 在VC中可以用同一个结构去模拟std::function对象 struct std_function_struct

  • C++11小结:使用智能指针的坑2022-06-13 11:34:08

    目录unique_ptrrelease 不会释放内存 unique_ptr release 不会释放内存 release 只会放弃所有权,不会释放内存资源; reset 既放弃所有权,还会释放内存资源(调用删除器)。如果有参数,还会接管参数对应的新资源。 #include <iostream> #include <memory> using namespace std; class A {

  • Apollo学习——预测2022-06-11 22:35:02

    前言 本文将对Apollo预测模块进行梳理,了解Apollo中进行预测的具体流程和工作原理 如上述架构图所示,预测处于感知与规划之间,它会对感知到的障碍物信息进行分析,并对障碍物未来一段时间内的行为及轨迹进行预测,并将信息反馈到规划模块,使规划模块能够生成更加合理、安全的轨迹 我会

  • C# 类继承中的私有字段都去了哪里?2022-06-04 09:34:06

    最近在看 C++ 类继承中的字段内存布局,我就很好奇 C# 中的继承链那些 private 字段都哪里去了? 在内存中是如何布局的,毕竟在子类中是无法访问的。 一:举例说明 为了方便讲述,先上一个例子: internal class Program { static void Main(string[] args) {

  • Apollo自动驾驶虚拟仿真赛笔记[5]-dreamview操作技巧及planning目录分析(未完待续)2022-06-04 02:02:03

    dreamview操作技巧及planning目录分析 dreamview操作技巧 route editing在地图上右键拖动可以拖动地图 route editng中滚轮可以放大缩小地图 /data/core中的文件貌似是垃圾文件 watch -n 1 nvidia-smi可以查看GPU使用情况 apollo_map场景标注 场景注册 场景管理类"scenario_manag

  • string类、智能指针2022-05-27 20:00:26

    1. string 类 p531 1)构造函数 一个比较特殊的构造函数 template <class Iter> string (Iter begin, Iter end); // 范围包括 begin 在内,但不包括 end 例如: char c[] = "All's well that ends well"; ... string s(c+6, c+10); 注意,假设有另外一个 string 对象 s1: string s1;

  • 02 | C++ 自己动手实现智能指针2022-05-26 17:00:07

    0. 前言 RAII (Resource Acquisition Is Initialization, 资源获取即初始化) 是 C++ 特有的资源管理方式,依托栈和析构函数对所有资源(包括堆)进行管理。实际上就是利用一个类来实现一个来管理资源,将资源和类对象的生命周期进行绑定,这样就可以不用再手动释放资源。 1. auto_ptr 先看

  • 【Effective C++】设计与声明2022-05-23 21:31:42

    所谓软件设计,是“令软件做出你希望它做的事情”的步骤和做法,通常以颇为一般性的构想开始,最终演变成十足的细节,以允许特殊接口的开发,这些接口而后必须转换为C++声明式。本章将以接口开始讲解软件设计和声明,主要包括以下几个部分: 接口 类 参数 返回值 成员变量 成员函数 让接口容

  • 手写share_ptr2022-05-18 14:02:14

    share_ptr:c++11引入的智能指针。是模板类,允许多个指针指向同一个对象。通过判断引用计数的值,来决定何时释放动态内存。 1.用nullptr构造时,引用计数为0; 2.用非nullptr构造时,引用计数为1; 3.拷贝一个share_ptr,引用计数会加1:如拷贝构造,share_ptr作为参数传递给函数,作为函数的返回值。

  • c++primer智能指针部分2022-05-15 22:34:59

    1 内存篇 2 静态内存、栈内存、动态内存 3 静态内存:用来保存局部static对象,类static数据成员、以及定义在 任何函数外的变量 4 栈内存:用来保存定义在函数内的非static对象。 5 动态内存:new出来的内存 6 7 分配在静态内存和栈内存的对象由编译器自动创建和销毁,

  • 操作系统实现-中断及任务调度2022-05-14 20:00:06

    博客网址:www.shicoder.top 微信:18223081347 欢迎加群聊天 :452380935 这一次我们来对内核进行完善,主要包括全局描述符的加载、任务调度、中断等 全局描述符的加载 我们回顾下,是不是在loader中有关于全局描述符的一些代码 prepare_protected_mode: cli; 关闭中断 ; 打开A

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有