- 博客(28)
- 收藏
- 关注
原创 对于C++虚函数,我的理解
我们都知道代码运行时各个系统会为各种对象分配内存,每个具体的函数其实就是一个具体的对象,那么系统在程序运行时也会为每个方法分配对应的内存。而且之前有讲过,为了避免内存的浪费,所有同类的对象是共享同一函数内存的。但是当有继承发生时,函数调用方式是怎么样的呢?本篇内容就让我们一起来看一下:普通函数的调用方式:假设这里有一个很简单的类Base我们实例化出来一个类(Ba...
2019-11-27 11:08:55 307
原创 你有对象?我们程序员只有面向对象
无论是在Java还是Python中,都有类的概念,类的基本思想是数据抽象和封装,一个类定义了一种数据类型以及相关的操作。C++中类是怎样的呢?本文将结合C语言,来介绍C++中的类。问:C++的书为什么比C厚那么多?答:有了对象后就是麻烦。虽然这只是调侃,但不得不承认,C++在语法特性上要比C复杂,因此本文也只是挑选类的部分内容来阐述。另外一提,面向对象本身是一种编程思想,...
2019-09-07 14:35:58 679
原创 编程和数学是什么关系?编程学习为什么会这么火呢?
近两年,编程学习成为了一个热门话题,其热度不亚于之前的奥数,为什么突然会有这么多人想要学编程,其中不限于互联网从业者,而更多是中小学学生,那么,今天悉之君就带大家一探究竟。什么是编程?提到编程,估计很多小伙伴会想到很多科幻电影里的技术大神,远到《黑客帝国》,近到《流浪地球》,满满黑科技,各种破译程序的桥段,让很多人感觉好酷好燃,但有一点儿神秘和玄妙,感觉编程似乎是一种远离常人生活的黑科...
2019-08-27 18:53:49 2269
原创 C++知识分享:C++项目中的extern "C" {}
在用C++的项目源码中,经常会不可避免的会看到下面的代码:#ifdef __cplusplusextern "C" {#endif/*...*/#ifdef __cplusplus}#endif它到底有什么用呢,你知道吗?而且这样的问题经常会出现在面试or笔试中。下面我就从以下几个方面来介绍它:1、#ifdef _cplusplus/#endif _cplusp...
2019-08-27 09:29:11 237
原创 C++运算符重载的规则
运算符重载是通过函数重载实现的,概念上大家都很容易理解,这节我们来说一下运算符重载的注意事项。1) 并不是所有的运算符都可以重载。能够重载的运算符包括:+ - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> <<= >&g...
2019-07-18 22:02:15 726
转载 *和&的用法你还有不懂得!!
C++中&和*的用法一直是非常让人头疼的难点,课本博客上讲这些知识点一般都是分开讲其用法的,没有详细的总结,导致我在这方面的知识结构格外混乱,在网上找到了一篇英文文章简单总结了这两个符号的一些用法,都是一些比较基础的知识,我比较关心的函数指针,指针函数等都没有涉及到,今后有时间把这部分学明白整理出来。C/C++中*和&的用法C++语言是C语言的超集。几乎所有可以运行的C程序...
2019-07-16 21:04:24 1255
原创 C语言源码实现俄罗斯方块
介绍俄罗斯方块(Tetris, 俄文:Тетрис)是一款电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。源码 1 2 3 4 5 6 7 8...
2019-06-05 10:16:34 11263
原创 深入理解C++中public、protected及private用法
初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂。今天本文就来十分分析一下C++中public、protected及private用法。相信对于大家深入掌握C++程序设计会有很大的帮助。这里我们首先要明白下面几点。1.类的一个特征就是封装,public和private作用就是实现这一目的。所以:用户代码(类外...
2019-06-03 20:38:46 2012 1
原创 c语言冒泡排序法代码
总在写 总在错, 面试也还忘记学习就是这么个过程, 温故才知新, 望自己谨记忘记不要紧复习就好//排序是有很多种方法的 ,完成从小到大的排列#include <stdio.h>void sort(int *a,int len){int i=0;int j;int t;for(i=0;i<len;i++){for...
2019-06-03 20:34:39 19917
原创 C++反射的一种实现方法详解
一、注册辅助类ClassRegistry:模板函数,用于data、module、contextdata的注册,其中的函数解析:create_object:从RegistryMap里找到传入name对应的RegistryNode(RegistryNode保存了名字和构造函数),调用构造函数返回。register_class:用传入的name和constructor注册RegistryMa...
2019-06-02 17:57:15 482
原创 C语言绘制三角函数曲线
题目:在屏幕上用“*”显示0°~360°的余弦函数cos(x)曲线。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
2019-06-01 23:47:37 2674
原创 简要说明C语言中指针函数与函数指针的区别
指针函数一般是指返回指针的函数; 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <stdio.h> int* fun(int *a) { return a; } ...
2019-06-01 23:00:02 239
原创 C++中的指针、数组指针与指针数组、函数指针与指针函数
本文从初学者的角度,深入浅出地详解什么是指针、如何使用指针、如何定义指针、如何定义数组指针和函数指针,并给出对应的实例演示;接着,区别了数组指针与指针数组、函数指针与指针函数;最后,对最常混淆的引用传递、值传递和指针传递做了区处。C++中一个重要的特性就是指针,指针不仅具有获得地址的能力,还具有操作地址的能力。指针可以用于数组、或作为函数的参数,用来访问内存和对内存的操作,指针的使用使得...
2019-05-30 20:10:34 472
原创 cppIDE/一级指针/指针数组/函数指针/函数指针数组/二级指针
【送给在路上的程序员】对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现。对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步。对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现。每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我。cppIDE使用mfc和codeb...
2019-05-30 20:03:23 299
原创 CC++语言7|函数、库、内联函数
在程序中,将一段代码封装起来,在需要的时候可以直接调用,这些代码可以完成一定的功能和操作,并且可以操纵参数,这就是函数。函数是程序代码最主要的组成部分之一,它将完整的程序分为不同的程序块,有着不同的返回结果。函数可以看作是由程序员来定义的操作,是划分程序的各个程序块,与内置操作符(一种特殊的函数)相同的是,每个函数都会实现一系列的计算,然后(大多数时候)生成一个计算结果。但与操作符不同的是,函...
2019-05-28 18:56:06 321
原创 初学者必看:C++常见错误及解决方法
C++程序作为一种计算机语言,具有功能丰富等优点,广泛应用于工业软件研发当中,不仅具有很高的开发价值,而且研究价值也很高。初学者必看:C++常见错误及解决方法有利就会有弊,其程序同时具有概念复杂的缺点,对于初学者来说经常出现错误,令其茫然失措,会使学习的信心受到挫伤。因此加深对常见错误的认识与掌握有效的解决方法显得尤为重要,本文就给大家列举几个C++常见错误及解决方法。返回值返回...
2019-05-28 18:51:52 4996
原创 C语言中时间的基本用法小结
在我学的这些编程语言中,总是记不住它们的时间处理方式,每次用到时都要重新看,所以想着在这里记录下来,也方便用到时查找,也方便有需要的朋友们参考。time_t和struct tm在C语言中用time_t类型表示一个时间,通常它是一个和long一样长的整数,也就是说,在32位环境下,它是4字节,在64位环境下,它是8字节。它保存的就是一个整数值,表示了从...
2019-05-28 13:11:17 1800
原创 C语言实现2048小游戏
本文实例为大家分享了C语言实现2048游戏的具体代码,供大家参考,具体内容如下#include <stdio.h>#include <stdlib.h>#include <conio.h> /*使用getch()函数*/#include <time.h>#include <windows.h> /*使用Sl...
2019-05-27 00:53:01 1319
原创 一小段C语言代码!为何都说牛逼?
C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。 有人说C语言是世界上最牛逼的语言123分享了下面一段代码,说是很牛逼的c语言代码,小编也看得一脸懵逼。大家来看看,它究竟牛在哪里? 关于这段传说中很牛逼的C语言代码,小编是看不出牛在哪里,你们呢? 此外,还有一位C语言高手,想挑战大家的水平,快来看看...
2019-05-24 20:39:28 775
原创 C语言高效实现向量循环移位
问题:n个元素的向量V循环移位(以左移为例)i个位置,例如12345循环移动2个位置得到34512.问题本身非常简单,以至于我们一看到问题就能想到对应的解决策略:申请i个字节的动态存储,将向量区间[0,i-1]的i个元素存储至临时存储器,之后将[i,n]的n-i+1个元素向左移动i个位置,并将临时存储器中的i个元素写回原向量区间中[n-i+1,n]。但如果我们强加一些限制:在现有可申请内存的总...
2019-05-24 17:28:36 1282
原创 C++-操作符重载、并实现复数类详解
首先回忆下以前学的函数重载函数重载函数重载的本质为相互独立的不同函数 通过函数名和函数参数来确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域中类中的函数重载静态成员函数能与普通成员函数建立重载关系 全局函数和成员函数不能构成重载关系操作符重载(operator)什么是操作符重载?大家都知道,在C里,有'+,-,*,/'这些操作符...
2019-05-23 17:51:51 438
原创 HOOK利用c++函数钩子,制作经典反黑客技术!
如题,算不得什么高深的技术了。刚好在弄一个玩意,拿起久违的钩子代码在用,顺便发个帖子,或许有些刚接触钩子的朋友用的着。限32位程序,因为64位的跳转就不是这么玩了。钩子是啥意思,以及钩子能干嘛就不多说了吧。选好下钩点,做好保护现场就好,就能干活啦!直接上代码了。代码中略做解释分4块:1.下钩函数2.恢复函数 卸载掉钩子3.钩子函数4.过滤函数钩子函...
2019-05-20 13:36:35 482
原创 C语言最难啃的三块硬骨头
C语言最难啃的三块硬骨头提到C语言很多初学者都觉得,学到中间就进行不下去了,因为碰到了几个硬骨头死活翻不过去,于是很多人给C语言下结论太难了,太靠近底层了,特别是那几块难啃的骨头,直接理解不了,进行不下去。今天就来说下,最难啃的三块骨头,看到底是谁?C语言最难啃的三块硬骨头内存布局指针公认最难理解的概念,也是让很多初学者选择放弃的直接原因指针之所以难理解,因为指针本...
2019-05-14 21:54:59 944
原创 这段c语言代码牛逼在哪?
有人说C语言是世界上最牛逼的语言,因为操作系统就是用C语言编写的,学好了C才能更好的学习其他编程语言。为此,有人分享了下面一段代码,说是很牛逼的c语言代码,看得W3Cschool小编一脸懵逼。大家来看看,它究竟牛在哪里?这段c语言代码牛逼在哪?关于这段传说中很牛逼的C语言代码,W3Cschool小编是看不出牛在哪里,你们呢?此外,还有一位国外的C语言高手,想挑战大家的水平,快来看看!...
2019-05-14 21:54:34 783
原创 C语言最重要的知识点总结,为C语言发愁的同学快转走背一下吧
C语言最重要的知识点总结,为C语言发愁的同学快转走背一下吧这边呢给大家准备了一些资料,想要的可以进来领哦,QQ交流群:1026095781
2019-05-14 21:54:05 2071
原创 c语言有多难?一个新手刚学c语言的无奈
c语言作为很多新手小白入门的编程语言,很多新手都在学习的过程中流下了心酸的泪水。例如刚开始学习的“hello world”程序,这基本上是每个人踏入程序员的第一步,很多人的雄心壮志就是从这里开始的。但是,很多人一开始就被这个程序难倒了几回。例如我第一次写代码:看着自己写的代码,再看看书上的代码,发现一模一样。刚开始运行的时候:报错了,明明和书上的代码一模一样啊,一定是电...
2019-05-14 21:52:36 605
原创 为什么C语言是最好的入门编程语言?
C语言是面向过程的,而C++是面向对象的C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于...
2019-05-12 10:10:25 1235
原创 C语言究竟是一门怎样的语言jia
C语言究竟是一门怎样的语言对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。如果你希望成为出类拔萃的人才,而不仅...
2019-05-11 00:43:55 353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人