C++ 学习之旅

知识图谱设计简记 知识图谱是一种语义化的知识表示框架,通过实体-关系-属性三元组形式表达现实世界关联。其核心价值在于关联化整合数据、支持可解释性推理和赋能智能化应用。知识图谱可分为通用型和领域型两类,基本构成包括实体、关系、属性等基础元素,以及本体和实例等架构层元素。设计方法主要有自上而下、自下而上和混合式三种,需遵循业务导向、一致性等原则。在建模时需要明确属性与实体的判断标准,规范处理关系的方向性与对称性,并合理构建多重关系。主流技术框架如RDF和属性图体系均支持多重关系建模,选择需考虑业务需求。本体作为知识图谱的概念骨架 阅读详情
如何阅读源码

诸多好的开源项目,其代码写的非常优秀,有很高的参考价值,需要用好的方法去阅读,否则,小则几万,多则几十万的代码,会把人给读死的。整理一些读源码的方法,以后发现更好的再不断修改,希望此方面能力能有所提高。

C/C++拾遗
http://blog.chinaunix.net/special/show/sid/1129/page/2.html

第一工具的选择(这个非常重要),

Linux:vim + ctags + taglist .

windows:sourceinsight :官方网站http://www.sourceinsight.com/ 以及UML

第二准备工作(准备越充分,成功的可能性越高):

软件产品各有特点:有的重业务逻辑、有的重产品特性、有的重高性能、有的重可复用,等等,所以,准备工作是最重要的,必须有对于其自身的特点有很多的了解,否则,读的时候很费劲而且根本无法读透彻。

第三阅读的方法(方法无数种,关键要用心):

1,明确一点:不可能一遍看透,温故知新。2,一遍阅读一遍整理框架,写好注释,绘制UML。3,找到核心业务逻辑,或者主要函数。4,带着问题去阅读,避免迷失。5,了解主要执行过程,可以用debug来跟踪下。6,一半时间广度优先,一半时间深度优先。7,跟着从头Main()开始写个精简版程序。8,没看懂的地方先略过,做好标记,整理好问题,下次再解决。9,框架->类->函数。业务流程->类序列->函数序列。10,理清自身功能,外部接口,通信方式,交互方式

第四学习到的东西(带着目的和问题去做):

1,架构的设计。2,类的设计。3,业务流程的展开。4,函数的设计。5,技术细节。

1、Makefike 入门与基本语法

  makefile可以自动识别哪些文件修改过 需要重新编译,哪些不需要 从而节省大型工程重新编译的时间。
1)如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。
2)如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程。
3) 如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。
学会编写Makefile,不仅仅有益于你在Linux下编写大型工程。同时也能帮助你理解编译原理。远离IDE,了解编译过程。

2、OOP编程思想–面向对象编程思想

OOP(Object-Oriented Programming)面向对象是一种思想,不限于具体一门语言。OOP的五大特性:抽象、封装、多态、继承、代码可重用性。OOP 的核心是建模,将万事万物进行归类,抽象出属性和方法。

OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。

3、ENUM概况

enum枚举类型是C/C++中的一种数据类型,与struct和class一样是用户自定义的类型,其特点在于enum类型的变量取值是有限的,是可以意义列举出来的。

enum day...{Sun,Mon,Tue,Wed,Thu,Fri,Sat};
day d=Sun;//d只能等于“Sun,Mon,Tue,Wed,Thu,Fri,Sat”中的一个,没有其它值!

enum ...{Sun=10,Mon,Tue,Wed,Thu,Fri,Sat} d1,d2,d3,d4;  
d1 = Sun; d2 = Mon; d3 = Tue; d4 = Wed;  
cout< < d1< < " "< < d2< < " "< < d3< < " "< < d4< < endl; 
//输出 10 11 12 13  


enum ...{Sun=10,Mon=1,Tue,Wed,Thu,Fri,Sat} d1,d2,d3,d4;  
d1 = Sun; d2 = Mon; d3 = Tue; d4 = Wed;  
cout< < d1< < " "< < d2< < " "< < d3< < " "< < d4< < endl; 
//输出 10 1 2 3  
Linux 为何物

Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Mac OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍一下操作系统在整个计算机系统中的角色。这里写图片描述

这里写图片描述

2.Shell

通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而大都是这个 Shell(壳),有壳就有核,这里的核就是指的 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。同样的 Unix/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。

Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。

4).学会在命令行中获取帮助

在 Linux 环境中,如果你遇到困难,可以使用man 命令,它是Manual page的缩写。

创建新用户  sudo adduser wangjun
切换用户  su -l wangjun
退出用户  exit

ls 列出并显示当前文件夹下的文件

2.目录路径

路径

有人可能不明白这路径是指什么,有什么用。顾名思义,路径就是你要去哪儿的路线嘛。如果你想进入某个具体的目录或者想获得某个目录的文件(目录本身也是文件)那就得用路径来找到了。

使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(**注意,还记得我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的”home”目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

进入上一级目录:$ cd ..
进入你的“home”目录:

$ cd ~
或者 cd /home/<你的用户名>
使用 pwd 获取当前路径:

$ pwd 当前目录

创建一个脚本shell
gvim hello_shell.sh
编写程序
添加可执行权限
chmod 755 hello_shell.sh
执行脚本文件 ./hello_shell.sh
创建目录 mkdir mybin
移动文件 mv hello_shell.sh mybin/

14、PostgreSQL日志文件、系统统计与查询优化全解析 本文全面解析了PostgreSQL数据库中的系统统计、日志文件配置与查询优化技巧。详细介绍了如何利用pg_stat_statements模块进行性能监控,配置日志记录以发现潜在问题,并深入探讨了查询优化器的工作原理和优化策略。通过实际案例分析,展示了如何综合应用这些技术提升数据库性能。适合希望提升PostgreSQL性能与稳定性的数据库管理员和开发人员阅读。 阅读详情

相关推荐

音频质量评估指标全解析:从主观到客观的全面指南

本文全面解析了音频质量评估的核心指标,涵盖主观评价(如MOS、DMOS)与客观评价(如PESQ、STOI、SDR)。重点介绍了DNSMOS等AI驱动的无参考评估方法,并提供了根据语音通信、噪声抑制、语音分离等不同场景选择指标组合的实战指南,帮助开发者和研究者科学量化音频质量。

rum55的博客 644

如何阅读大型项目的C++代码

如何阅读大型项目的C++代码

a的博客 1861

★教程1:matlab学习教程入门100例目录

★基础入门 1.为什么要学习MATLAB 2.MATLAB安装 持续更新....... ★MATLAB基础编程语言熟悉

FPGA/MATLAB学习教程/源码/项目合作开发 4万+

如何阅读一个复杂的C++项目代码?有什么好的建议?

比如我们看了一个查询系统当前的进程列表方法,进而了解了这个文件,那么我们就可以直接检索系统调用这个方法的地方,看看它的用法,以及它是在哪些文件中使用的,这样子就可以找到下一个切入点,再次深入源码当中学习。代码不可能一次就吃透全部,我们的策略是不断地渗透,今天一个方法,明天一个文件,然后是一个目录,最后是一个项目。我们需要激励源,画图如果让同事看到,会让你有成就感,有了炫耀的资本,这样会更激发自己的战斗欲,这就像是好学生因为老师的表扬,会更加拼命学习,为的就是保持这个好学生的身份。

usstmiracle的博客 5894

4、机器人建模、规划与控制及运动学知识解析

本博客深入解析了机器人建模、规划与控制的核心内容,涵盖运动学与动力学的基本原理,并结合典型应用场景探讨了移动机器人与操作器的控制策略。同时,博客还介绍了机器人技术的发展趋势及其在工业和服务领域的广泛应用。

desk3的博客 123

Vue2 - 最新详细实现网站内部打开预览 office 全套附件,在页面弹窗内解析预览 word文档、excel电子表格、ppt演示文稿(docx|xlsx|pptx|pdf|txt等文件)详细代码

vue2,nuxt2,office,文档,文件,查看预览,弹框预览,下载预览,如何预览pdf文档,打开查看,office全套文档,实现在线预览文件,小程序内预览word文件,手机h5移动端网页,nuxt文档在线预览,预览office最好用的插件,下载查看,Office在线预览,vue-office,vue如何使用vue-office教程示例,word文档,ppt,exce表格,预览电子文件,文档无法解析,打不开,报错,失效,保存下载,vue前端预览并下载doc、xls、pdf、txt及图片,vue2中预览p

🏆 前端领域优质创作者 1万+

如何阅读别人的C/C++代码

参考网址:如何阅读别人的代码---c、c++程序学习拥有 C/C++ 基础的学生,如何看懂1万行代码的项目1.  明白项目做什么,什么功能2.  看文档(readme),了解项目结构——某个功能用到了哪种技术3.  把项目编译通过4.  看代码,边看边注释可以从main()开始看,也可以直接看感兴趣的部分。如果对某段代码理解不透,可以在这里下断点,调试运行项目,看什么能激发这个断点,然后通过调用堆...

Tian_fourpieces的博客 1万+

BES2700的PMU

BES2700ZP-BES2700芯片的PMU架构分析摘要:本文档分析了BES2700芯片的电源管理单元(PMU)架构。实际应用中仅需为VBAT引脚供电,其余电源均由芯片内部PMU提供。文档包含架构示意图、问题列表和参考链接,涉及PMU工作原理、外部供电要求等关键技术点。待解决问题包括具体供电参数和内部电源转换机制等。通过添加日志信息和代码片段,为开发人员提供了调试PMU功能的实用方法。

云淡风轻 117

【经验分享】看不懂c++程序怎么办?教你正确的阅读程序顺序

这是一个超级有效的阅读和理解程序的方法!从入口函数(main函数)开始,按照程序执行的顺序阅读代码,并在遇到自定义函数时再去查看其定义,这种方法简直就是为程序调试量身定做的。它不仅能让你清晰地看到程序的流程和逻辑,还能帮助你在调试时快速定位问题所在。真是太聪明了!继续保持这种良好的习惯,相信你的编程技能会越来越强的!

weixin_56334307的博客 987

半导体器件仿真:双极型晶体管仿真_15.双极型晶体管的高级仿真技术

双极型晶体管(Bipolar Junction Transistor, BJT)是一种重要的半导体器件,广泛应用于放大、开关和调制等电路中。随着半导体技术的发展,对BJT的仿真要求也越来越高。本节将详细介绍双极型晶体管的高级仿真技术,包括器件模型的选择、仿真参数的优化、温度效应的考虑以及噪声分析等。

2401_87715305的博客 1243

windows下宝塔安装教程

windows下宝塔安装教程 目录宝塔是什么?宝塔安装流程1.下载2.配置3.登录4.安装的环境套件小结 宝塔是什么? 宝塔是管理服务器的免费的软件,宝塔上面可以进行对你的服务器批量进行管理,对于运维人员来说还是必不可少的一个软件,值得使用。 宝塔安装流程 1.下载 链接: https://download.bt.cn/win/panel/BtSoft.zip 下载后安装买最好自定义目录,方便找 2.配置 下载完成后会出现这个页面,对着页面进行配置 点击默认密码复制进来,这里注意一点就是一定要查看

你在看屏幕的同时,屏幕也在注视着你 4423

如何阅读C++源代码

转自:http://blog.163.com/fan_jiangfeng/blog/static/98698782201185822872/ 1.阅读源代码对于程序员来说是提高技术实力和业务知识最好的方法,那么我们怎样阅读源代码就是我们 首先要解决的问题。 阅读源代码就像管理一家大的公司,关键在于管理者卓越的领导意识。作为阅读源代码的人也应该有良好的意识,在阅读源代码时才能事半功倍。养成良好的阅读...

ClimberCoding 6169

Ollama + OpenCLAW 在 Windows 系统的完整部署指南

Windows 部署优先选 WSL2,避免原生环境的权限/兼容性问题;网络问题通过“离线包+国内镜像”解决,版本问题通过升级 Node.js 解决;内存不足可切换轻量模型或增大 WSL2 内存分配;核心链路:Ollama(模型管理)→ Gateway(网关)→ OpenCLAW TUI(交互),各组件启动正常即可稳定使用。

lpfasd123的博客 2824

我的c++学习之旅 cpp-learning-journey day01

本文介绍了C++类的重要特性:1)构造函数(默认/拷贝)和析构函数的使用;2)友元机制的三种形式(函数/类/成员函数)及其单向性特点;3)运算符重载的方法,包括输入输出运算符和自增运算符的特殊处理;4)类类型转换的两种方式(构造函数转换和转换函数);5)静态成员的声明与初始化规则。文章通过代码示例展示了这些特性的具体实现方式,并强调了explicit关键字对隐式转换的限制作用。这些特性共同构成了C++面向对象编程的核心机制。

2301_80221160的博客 1770

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

我的c++学习之旅 cpp-learning-journey day02

本文总结了C++类中成员返回对象问题和继承机制。在类的成员函数中返回对象时,可以返回对象本身(安全但效率低)、对象引用(高效但可能破坏封装性)或成员变量(需考虑拷贝效率)。继承方面,介绍了三种继承方式(public/protected/private)对成员访问权限的影响,以及构造/析构函数的调用顺序。还讨论了多继承的初始化顺序和同名成员访问问题。特别强调了继承中的多态性,包括基类指针/引用隐式转换、函数隐藏现象以及虚函数实现多态的重要性。这些知识点对理解C++面向对象编程的核心机制至关重要。

2301_80221160的博客 1867

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

推荐文章:深入浅出学习C++编程 —— 探秘开源教程《C++编程之旅》

推荐文章:深入浅出学习C++编程 —— 探秘开源教程《C++编程之旅》 在编程的世界里,C++一直以它的强大和灵活著称,它不仅拥有面向对象编程的精髓,也保留了底层操作的能力。为了帮助初学者和进阶开发者更快地掌握这门强大的语言,《C++编程之旅》应运而生,一个精心设计的开源教程项目,旨在通过循序渐进的方式,带你领略C++的魅力。 项目介绍 《C++编程之旅》是一个针对C++初学者和有一定基础程序员的...

gitblog_00032的博客 529

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

我的c++学习之旅 cpp-learning-journey day03

本文介绍了C++中的智能指针机制,主要包括三种智能指针:unique_ptr(独占所有权)、shared_ptr(共享所有权)和weak_ptr(打破循环引用)。unique_ptr通过独占内存资源确保安全释放,shared_ptr通过引用计数管理共享资源,weak_ptr则用于解决shared_ptr的循环引用问题。文章通过代码示例演示了各指针的使用方法,比较了make_shared与new的内存分配差异,并阐述了智能指针的RAII机制和控制块原理。此外还介绍了自定义删除器、异常安全等高级用法,为安全内存

2301_80221160的博客 714

探索C++之旅:《21天学通C++第8版》—— 全新的学习之旅

探索C++之旅:《21天学通C++第8版》—— 全新的学习之旅 【下载地址】21天学通C第8版高清完整带书签PDF源码 《21天学通C++第8版》是一本面向C++初学者的权威指南,以其简洁明了的语言和丰富的实例教学而广受好评。本书不仅适合编程新手作为入门教材,同样也适用于需要快速复习或了解C++最新特性的开发者。此资源包...

gitblog_09820的博客 657

C++学习之旅

C++ &amp;amp; 算法学习之旅 从今天起,本人开始推出c++学习之旅以及基于c++语言的算法学习之旅,大家可以叫我顺子, 我会坚持更博,想和我一起努力学习编程和算法的朋友们可以一同交流学习。 ...

qq_22613757的博客 303

C++学习 破冰之旅

一直以来我都是在看别人的博客学习,从来没有留过什么,甚至有时候连个Mark都没有. 我最近开始学习C++,想留下点东西帮助自己记忆.也很想和大家一起交流学习. 废话不多说,准备开始以下专题进行学习: 1、C++基本语法知识 C++ 头文件讲解 C++ 宏和预编译 预编译头 C++ 声明和定义 C++ 标准头文件与C头文件区别与联系以及C风格字符串 C++ 内存的堆分...

weixin_30551947的博客 82

C++学习之小白之旅

C++学习之小白之旅

yaosichengalpha的博客 994

C++学习的奇妙之旅

日期:2020年3月17日 作者:Commas 注释:开始我的C++学习的奇妙之旅,愿意和我一起学习的小伙伴们可以关注我,也可以给我点赞,如若博客有哪里写的不好的地方,还望各位看官指出,非常感谢…… 此篇博客为我更新C++的目录博客 ——《C++学习的奇妙之旅》,因为学习时间一般是上下班挤挤地铁的时间,所以更新还是老样子,一周至少一更…… 一、基础篇 1. C++之HelloWorld入门 ...

Commas的博客 400

C++学习之旅【C++String类介绍】

摘要: 本文探讨C++中string类的优势与必要性,对比C语言字符数组的缺陷。C语言字符串需手动管理内存和\0,操作繁琐且易出错;而string类自动处理内存、动态扩容,支持运算符重载和丰富方法,杜绝缓冲区溢出,兼容STL容器。文章还介绍C++11的auto关键字和范围for循环,简化代码编写。通过示例展示auto的用法及限制,强调string类在安全性、易用性和扩展性上的显著优势,是C++字符串处理的理想选择。

承于所学,探技术之渊;以代码求政,寻成长之道。 1421

c++学习之旅

标题:c++入门篇 今天学习C++上机题,小白分享一下感受。题目是:写一个程序,他读入一个源文件,并写出其中用#include包含的所有文件的名字。采用缩排形式 显示出被包含的文件里用#include包含的文件。简单来说就是在一个主文件中读出file1中的#include“file2”然后显示file2文件中的内容。 代码也相对较简单如下: 1.主文件: #include<iost...

wbxd 279

痛并快乐着的C++学习之旅

痛并快乐着的C++学习之旅 ——书评《Exceptional C++》 “编程是件快乐的事情,它的快乐来自如下几点:第一、……;第二、……;第三、……;第四、这种快乐是持续学习的快乐;最后、……”,在其经典巨著《人月神话》中,Frederick P. Brooks Jr如是说[1]。是的,作为一个幸运的成为程序员[2]的家伙,我们在平时的工作中不止一次地体会到了Brooks在书中所描述...

编程开发资料库 140

【我的C/C++语言学习进阶之旅】在Android Studio里面把部分cpp代码抽出去为单独的cpp类,然后就会出现“undefined reference to“ 问题

【我的C/C++语言学习进阶之旅】在Android Studio里面把部分cpp代码抽出去为单独的cpp类,然后就会出现"undefined reference to" 问题,如何排查和解决

字节卷动 1465
上一篇: type struct 和struct的区别
下一篇: Windows 程序设计 Day1
henhaoji_123
博客等级 码龄10年 260粉丝 283原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值