ICode9

精准搜索请尝试: 精确搜索
  • c++动态内存管理与智能指针2022-03-01 10:04:17

    目录一、介绍二、shared_ptr类make_shared函数shared_ptr的拷贝和引用shared_ptr自动销毁所管理的对象……shared_ptr还会自动释放相关联对象的内存使用动态生存期的资源的类应用举例:Blob类定义Blob类StrBlob的构造函数元素访问成员函数StrBlob的拷贝、赋值和销毁三、直接管理内存

  • 日常记录(66)设计2022-02-28 22:04:15

    module的参数例化 module async_fifo #(parameter FIFO_PTR = 4, FIFO_WIDTH = 32)([port_list]) 格雷码转换与generate结构 generate语句可以配合genvar实现将assign语句进行并行化处理。否则有有以下提示: Generate for loop index variable must be a genvar. Please refer to

  • 31. 智能指针2022-02-27 20:32:37

    template<typename T> class CSmartPtr { public: CSmartPtr(T* ptr = nullptr) :mptr(ptr) {} CSmartPtr(const CSmartPtr<T>& src) { mptr = new T(*src.mptr); } ~CSmartPtr() { delete mptr; mptr = nullptr; } T& operator*() {

  • 关于关闭编译优化 进而执行 移动拷贝构造2022-02-27 09:31:06

    #include <iostream> #include <string> #pragma optimize( "", off) using namespace std; class Integer { public: //参数为常量左值引用的深拷贝构造函数,不改变 source.ptr_ 的值 Integer(const Integer& source) : ptr_(new int(*source.ptr_)) {

  • ximo脱壳教程5:手脱PECompact2.X的壳2022-02-25 20:31:29

    PECompact 2.x -> Jeremy Collake 1。单步 2。ESP定律 3。BP VirtualFree SHIFT+F9,取消断点 ALT+F9 查找 push 8000(特征码) 运行到这 单步跟 4。BP VirtualFree 两次SHIFT+F9 中断后取消断点,Alt+F9返回单步走。 5.0040A86D > B8 74DE4500 mov eax,qqspirit.0045DE74 bp 0045

  • 装饰模式2022-02-25 18:04:17

    #include <iostream> #include <memory> class Component { public: virtual void show() = 0; }; class ConcreteComponent : public Component { public: void show() override { std::cout << "In ConcreteComponent show()." <&

  • 外观模式2022-02-25 18:03:25

    #include <iostream> #include <memory> class SubsystemA { public: void show() { std::cout << "In SubsystemA show()." << std::endl; } }; class SubsystemB { public: void show() { std::cout << "In Subsyst

  • OpenCVSharp 利用指针实现高速访问像素RGB值2022-02-25 15:04:42

    先简单介绍下什么是OpenCVsharp,内容取自百度百科 OpenCvSharp是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考。该库采用LGPL发行,对商业应用友好。使用OpenCvSharp,可用C#,VB.NET等语言实现多种流行的图像处理(image pr

  • 段错误产生原因2022-02-25 12:01:38

    文章摘录自公众号:编程那些年 段错误产生原因(Segmentation fault (core dumped)) 访问不存在的内存地址 ptr没有申请空间就直接拷贝数据: #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, char *argv[]) { char *ptr = NULL; //This is

  • preload hook2022-02-24 21:01:18

    目的 实现通过LD_PRELOAD 对运行程序的malloc,free进行hook hook代码实现 hook.c #define _GNU_SOURCE #include <stdio.h> #include <dlfcn.h> static void* (*real_malloc)(size_t size); static void (*real_free)(void *ptr); __attribute__((constructor)) static void in

  • C++智能指针2022-02-23 22:59:22

    智能指针 为什么需要智能指针 裸指针存在的问题 裸指针是平常定义的普通指针,他有许多的问题,主要是以下这些: 1.难以区分指向的是单个对象还是一个数组; 2.使用完指针之后无法判断是否应该销毁指针,因为无法判断指针是否“拥有”指向的对象; 3.在已经确定需要销毁指针的情况下,也

  • 智能指针2022-02-23 19:34:12

    shared_ptr 智能指针也是模板类,因此当我们创建一个智能指针是要提供额外的信息——指针可以指向的类型。默认初始化的智能指针保存着一个空指针。shared_ptr允许多个指针指向同一对象。 shared_ptr<string> p1; //可指向string shared_ptr<list<int>> p2; //可指向int的list mak

  • C++ 智能指针2022-02-23 19:31:02

    shared_ptr 智能指针也是模板类,因此当我们创建一个智能指针是要提供额外的信息——指针可以指向的类型。默认初始化的智能指针保存着一个空指针。shared_ptr允许多个指针指向同一对象。 shared_ptr<string> p1; //可指向string shared_ptr<list<int>> p2; //可指向int的list

  • C++ 智能指针_unique_ptr智能指针详解2022-02-23 17:01:57

    https://www.cnblogs.com/bruce1992/p/14490154.html 作为智能指针的一种,unique_ptr 指针自然也具备“在适当时机自动释放堆内存空间”的能力。和 shared_ptr 指针最大的不同之处在于,unique_ptr 指针指向的堆内存无法同其它 unique_ptr 共享,也就是说,每个 unique_ptr 指针都独自拥

  • c++11新特性总结2022-02-22 13:35:27

    原始字面量 #include <iostream> using namespace std; int main (){ string str = R"(\t今天你学习了吗\n\n)"; string str1 = "(\t\n今天你学习了吗\n)"; string str2 = "(\\t\\n今天你学习了吗\\n)"; cout <<str<<endl;

  • 基于System verilog的同步FIFO实现(二)2022-02-22 12:01:15

    上一篇博客基于System verilog的同步FIFO实现(一) 通过设置一个计数器,来判断FIFO的空或满状态,该方法由于多设置了一个计数器,因此会产生额外的资源,当fifo比较大时,会降低fifo最终可以达到的速度。本文则通过另一种方式生成full与empty信号:比较读指针和写指针。 判断方法: 1.

  • C++常考问题2022-02-22 09:04:01

    1. 多态是什么(语义上什么意思,语法上怎么实现)?虚函数是什么?虚函数底层怎么实现的? 多态简单来说就是“一个接口,多种方法”,程序在运行时才决定具体调用哪一个函数,因此程序运行有不同的状态,称为多态、语法上通过虚函数来实现。虚函数即声明时加了vitual关键字的函数,告知编译器不要在编

  • C++进阶问题-智能指针&继承&sizeof2022-02-22 09:03:20

    智能指针 请讲一下智能指针原理,并实现一个简单的智能指针 智能指针其实不是一个指针。它是一个用来帮助我们管理指针的类,维护其生命周期的类。有了它,妈妈再也不用担心我的内存泄露啦! 需要解决的问题: 怎么释放内存? 什么时候释放内存? 释放内存方法一:同归于尽! auto_ptr 释

  • C++11新特性梳理2022-02-22 09:03:03

    在面试中,经常被问的一个问题就是:你了解C++11哪些新特性?一般而言,回答以下四个方面就够了: “语法糖”:nullptr, auto自动类型推导,范围for循环,初始化列表, lambda表达式等 右值引用和移动语义 智能指针 C++11多线程编程:thread库及其相配套的同步原语mutex, lock_guard, condition_

  • 2.32 Safe-Linking 机制2022-02-20 15:35:09

    看 glibc 2.32 源码: /* Safe-Linking: Use randomness from ASLR (mmap_base) to protect single-linked lists of Fast-Bins and TCache. That is, mask the "next" pointers of the lists' chunks, and also perform allocation alignment checks o

  • 严蔚敏数据结构习题第五章2022-02-20 10:04:55

    https://www.jianshu.com/p/d7d5545012e2 习题答案:https://www.cnblogs.com/kangjianwei101/p/5229548.html 1 && 2 //注意行列存储 10 广义表最基本的操作:取表头head(LS)与取表尾tail(LS) https://blog.csdn.net/qq_38842021/article/details/82290201 head() 返回列表

  • 数组和指针的区别2022-02-20 01:04:09

    // test.c void test() { char array[4] = {0}; *(array + 0) = 0x00; array[1] = 0x11; *(array + 2) = 0x22; array[3] = 0x33; char *pointer = array; pointer[0] = 0x00; pointer[1] = 0x11; pointer[2] = 0x22; pointer[3] = 0

  • 习题9-6 按等级统计学生成绩 (20 分)2022-02-19 09:31:09

    #include <stdio.h> #define MAXN 10 struct student { int num; char name[20]; int score; char grade; }; int set_grade(struct student *p, int n); int main() { struct student stu[MAXN], *ptr; int n, i, count; ptr = stu;

  • wcs相关2022-02-17 12:33:40

    wcscpy(cmdline, L"/box:"); wcscat(cmdline, L"__ask__");    _wcsicmp(name, L"RPCSS")    _wcsnicmp(ptr, L"system32\\wuauclt.exe", 20)    if (wcschr(src, L'\"')) *wcschr(s

  • C++设计模式——策略模式2022-02-14 17:36:22

    策略模式(Strategy):它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的用户 Strategt类,定义所有支持的算法的公共接口 class Strategy { public: virtual ~Strategy() {}; virtual void AlgorithmInterface() = 0; }; Concret

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

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

ICode9版权所有