夜风里唱
码龄17年
关注
提问 私信
  • 博客:447,183
    社区:917
    问答:1,256
    449,356
    总访问量
  • 93
    原创
  • 168,517
    排名
  • 5,906
    粉丝
  • 34
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2007-11-03
博客简介:

夜风里唱的专栏

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,278
    当月
    11
个人成就
  • 获得536次点赞
  • 内容获得168次评论
  • 获得2,398次收藏
  • 代码片获得790次分享
创作历程
  • 13篇
    2024年
  • 4篇
    2023年
  • 6篇
    2022年
  • 16篇
    2021年
  • 15篇
    2020年
  • 35篇
    2019年
  • 8篇
    2016年
  • 2篇
    2013年
  • 1篇
    2011年
成就勋章
TA的专栏
  • 嵌入式
    9篇
  • NestJS
    9篇
  • nodejs
    8篇
  • Web开发
    7篇
  • 网络编程
    3篇
  • AI
    1篇
  • 操作系统
    4篇
  • Python
    5篇
  • 管理
    2篇
  • 5G
    2篇
  • 项目管理
    6篇
  • Windows编程
    2篇
  • 深度学习
    19篇
  • Caffe
    10篇
  • mnist
  • C++
    16篇
  • 面向对象
    3篇
  • 音视频开发
    6篇
  • 海思NNIE
    5篇
  • 设计模式
    3篇
兴趣领域 设置
  • 人工智能
    深度学习神经网络tensorflow
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++:什么情况下函数应该声明为纯虚函数

这是因为当删除一个指向派生类的基类指针时,会首先调用派生类的析构函数,然后调用基类的析构函数。因此,即使析构函数是纯虚函数,也需要在基类中提供一个实现(可以是空的)。:当你希望定义一个基类,该基类不能被实例化,只能作为其他类的基类时,你应该在基类中声明至少一个纯虚函数。这样的基类被称为抽象基类。纯虚函数通过在函数声明后添加 “= 0” 来定义,表示该函数在基类中没有实现,派生类必须提供实现。:如果你希望所有派生类都实现某个特定功能,而该功能在基类中没有意义或无法提供通用实现,你应该将该功能声明为纯虚函数。
原创
发布博客 2024.03.16 ·
497 阅读 ·
10 点赞 ·
0 评论 ·
8 收藏

C++:基类中的函数什么情况下声明为虚函数

如果你正在设计一个类层次结构,并希望它在未来是可扩展的,即使现在某些函数在基类中没有实际的实现或只提供了默认实现,也应该考虑将它们声明为虚函数。虚函数会带来一些开销,包括在对象中添加虚函数表指针,以及通过虚函数表进行动态分派的时间开销。另外,要注意的是,构造函数不能被声明为虚函数,因为虚函数机制依赖于对象已经存在并包含了虚函数表指针,而构造函数正是在对象创建过程中被调用的。:如果你预计派生类可能需要提供自己的实现,或者改变基类函数的行为,那么基类中的该函数应该被声明为虚函数。
原创
发布博客 2024.03.16 ·
514 阅读 ·
12 点赞 ·
0 评论 ·
9 收藏

C++: 析构函数应该被声明为虚析构函数的情况

这是因为如果基类的指针指向派生类的对象,并且该基类的析构函数不是虚析构函数,那么当删除这个基类指针时,只有基类的析构函数会被调用,而派生类的析构函数则不会被调用,这可能会导致资源泄露或未定义行为。通过声明虚析构函数,可以确保当基类指针被删除时,正确的析构函数(即派生类的析构函数)会被调用。然而,如果一个类不准备作为基类使用,或者确定不会有基类指针指向派生类对象的情况,那么将析构函数声明为虚析构函数可能并不是必要的。此时,将析构函数声明为虚析构函数可以确保正确的析构顺序。
原创
发布博客 2024.03.15 ·
471 阅读 ·
10 点赞 ·
0 评论 ·
7 收藏

NestJS入门:参考文章

知乎上对NestJS入门比较好的专栏文章。
原创
发布博客 2024.02.22 ·
421 阅读 ·
10 点赞 ·
0 评论 ·
10 收藏

NestJS入门9:管道入门

本文仅对ParseIntPipe管道做简单说明,这个管道的作用是对输入数据转换为所需要的类型(int)可见ParseIntPipe内部已做了异常处理,当为非整数时,自动触发了异常输出。use.controller.ts中增加一行打印id的类型。打印如下,管道将string类型的id转换为数字类型。注:不需要npm 安装任何工具。本文代码基于上一篇文章《
原创
发布博客 2024.02.21 ·
542 阅读 ·
10 点赞 ·
0 评论 ·
9 收藏

NestJS入门8:拦截器

本文代码基于前文《》上修改。
原创
发布博客 2024.02.20 ·
586 阅读 ·
6 点赞 ·
1 评论 ·
8 收藏

NestJS入门7:增加异常过滤器

本文代码基于上一篇文章《
原创
发布博客 2024.02.20 ·
654 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏

NestJS入门6:日志中间件

使用postman或swagger测试,后端可以看到请求方法与路径的打印。可改为星号通配符,表示任意路由。
原创
发布博客 2024.02.20 ·
940 阅读 ·
10 点赞 ·
0 评论 ·
7 收藏

NestJS入门5:加入Swagger

【代码】NestJS入门5:加入Swagger。
原创
发布博客 2024.02.20 ·
634 阅读 ·
7 点赞 ·
0 评论 ·
10 收藏

NestJS入门4:MySQL typeorm 增删改查

user/entities/user.entity.ts修改为。user.controller.ts不需要修改。以上代码通过post可以数据到数据库,如下。以上代码重新运行后,可以看到数据表。
原创
发布博客 2024.02.19 ·
677 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

NestJS入门:不同请求方式前后端写法

【代码】NestJS入门:不同请求方式前后端写法。
原创
发布博客 2024.02.19 ·
535 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏

NestJS入门2:创建模块

执行完后会在src文件夹下创建出user文件夹及文件夹下相应的文件,如下。在项目目录下输入以下命令。
原创
发布博客 2024.02.19 ·
905 阅读 ·
11 点赞 ·
0 评论 ·
13 收藏

NestJS入门1:创建项目

管理员权限运行CMD进入某个文件夹,输入命令,进行初始化,该命令不在文件夹下产生文件。
原创
发布博客 2024.02.19 ·
618 阅读 ·
8 点赞 ·
0 评论 ·
12 收藏

modbus协议与nodejs modbus-serial实现

polling_RTU是使用485串口来实现modbus通信, polling_TCP和 polling_UDP则使用TCP/UDP来实现通信。对于RTU(485串口)模式,modbus-serial自动在数据包末尾添加2个字节的CRC校验码,不需要显式添加。时,发送的指令码格式如下所示,总共8个字节,比TCP、UDP模式增加了2个字节的CRC校验码。功能码一般分为0x03(读Holding寄存器功能码)和0x04(读Input寄存器功能码)写入多个寄存器,对应的功能码为16(0x10)
原创
发布博客 2023.05.16 ·
4250 阅读 ·
2 点赞 ·
2 评论 ·
10 收藏

Nodejs移植到嵌入式ARM板方法

在上位机虚拟机软件上安装ARM的交叉编译链,下载nodejs源码,使用交叉编译软件编译nodejs,得到ARM板上可执行的文件,并放到ARM板上,通过node xxx.js文件的方式执行。注意还需要移植依赖库到ARM板上。需要一台与ARM相同架构并自带ubuntu或统信等系统的设备,在上面安装部署nodejs的环境,使用run pkg打包的方法在该环境下将源码打包成应用程序的可执行文件,然后将应用程序的可执行文件拷贝到ARM开发板上。在该系统下直接安装nodejs的环境,并运行程序。
原创
发布博客 2023.05.15 ·
2044 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Nginx学习2:nginx代理websocket

nginx代理websocket指客户端通过websocket访问服务的A端口,nginx可以将该websocket连接与通信代理转发到后端的B端口,其配置文件如下设置。客户端通过ws://127.0.0.1:8081/socket2 可与后端的9999端口通信。客户端通过ws://127.0.0.1:8081/socket 可与后端的8888端口通信。后端存在两个ws服务,分别监听8888与9999端口。
原创
发布博客 2023.03.29 ·
3097 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

Nginx学习1:通过访问路径代理不同二级http服务

通过nginx实现代理,前端HTML5只需要对接一个http端口,即可与后台多个二级http服务进行对接,方法是在nginx中通过不同的路径代理不同的二级http服务。静态页面依然使用nginx一级服务器返回。
原创
发布博客 2023.03.26 ·
3749 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

【metaRTC学习】metaRTC的demo运行说明(一)

对metaRTC的demo做详细运行说明
原创
发布博客 2022.12.05 ·
22763 阅读 ·
6 点赞 ·
0 评论 ·
14 收藏

【Web流媒体开发】ffmpeg+JSMPEG+NodeJs+Web流媒体方案

架构图如下所示:1. 下载jsmpeg下载:https://codeload.github.com/phoboslab/jsmpeg/zip/master直接解压即可, 在解压的目录jsmpeg-master下会有websocket-relay.js文件2. 安装http-server在以上jsmpeg-master目录下安装websocket服务与http-servernpm install ws -gnpm install http-server -g..
原创
发布博客 2022.05.09 ·
2929 阅读 ·
1 点赞 ·
1 评论 ·
5 收藏

【NodeJs实战】Express实现Socket.IO

服务端:app.jsvar express = require('express');var app = express();var server = require('http').Server(app);var path = require('path');var io = require('socket.io')(server);app.use(express.static(path.join(__dirname, 'public')));//设置静态文件存放目录在public下.
原创
发布博客 2022.05.07 ·
1551 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多