第一章C++:函数返回值、GNU编译器命令
函数返回值返回值类型必须和函数的返回类型相同对于main函数,返回值必须是int型。大多数系统中,main函数的返回值是一个状态指示器。返回值为0表示main函数成功执行完毕;返回非零表示有错误出现。GNU编译器命令vi:新建文件,i:编辑
C++引用的意义与引用的本质
1、引用的意义引用作为变量别名而存在,因此在一些场合可以替代指针,引用相对于指针来说具有更好的可读性和实用性// swap函数的实现对比void swap(int& a, int& b){ int t = a; a = b;
C++ 布尔类型和引用的用法详解
1、布尔类型C++中的布尔类型C++在C语言的基本类型系统之上增加了boolC++中的bool可取的值只有true和false理论上bool之占用一个字节注意:true代表真值,编译器内部用1来表示false代表非真值, 编译器内部用0来表
C#引用类型: 按值传递,按引用传递的对比
1,按值传递值按值传递,引用类型按值传递的实质的是传递值,参数为值类型时,“值”为实例本身,因此传递的是实例拷贝,不会对原来的实例产生影响;参数为引用类型时,“值”为对象引用,因此传递的是引用地址拷贝,会改变原来对象的引
探索C++虚函数在g++中的实现(动多态)_虚函数表剖析
探索C++虚函数在g++中的实现本文是我在追查一个诡异core问题的过程中收获的一点心得,把公司项目相关的背景和特定条件去掉后,仅取其中通用的C++虚函数实现部分知识记录于此。在开始之前,原谅我先借用一张图黑一下C++:“无敌”的C++如果
C++---浅拷贝、深拷贝、写时拷贝讲解(附代码)
对于普通的类型来说,拷贝没什么大不了的。int a = 0;int b = a;不会出现任何问题。而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。浅拷贝首先来说说我们常遇到的浅拷贝的情况。#include <stdio
C#使用Newtonsoft的Json.NET进行对象的序列化与反序列化
Json.NET是一种流行的.NET高性能JSON框架,C#中可以使用Newtonsoft的Json.NET进行对象的序列化与反序列化。C#中通过使用json.net可以快速的生成json和解释json,可以在序列化时忽略对象中的某些属性,
C#_调用封装的一个类实现导出Excel表格的功能
前言在大多数窗体中都有导出Excel表格的功能,如果封装封装一个类,使用的时候直接调用这个类不是更方便?,这样还减少了代码的重复性,何乐而不为?操作首先添加引用,在com中选中microsoft office 16.0 object lib
如何看待C#中的out和ref?探讨它们之间的区别
在学习C#时,总会遇到一些语言命令之类的用法相近却不尽相同,今天讨论的是C#中的out和ref的区别,首先讨论是各自的用法,下文我会给大家总结out和ref之间的区别。apache php mysql两者都是按地址传递的,使用后都将改变原来
基于汇编的 C/C++ 协程(用于服务器)的实现
本篇文章,是 对C/C++ 协程的实现。我们需要实现这两个目标:有同步式服务器编程的顺序思路,便于功能设计和代码调试——我使用了 libco 中的协程部分有异步 I/O 的性能——我使用了 libevent 中的 event I/O
(C++)错误的map删除操作和STL中容器的迭代器的底层实现机制
1.错误的map删除操作假设有个map容器,用于存储大学班级中各个家乡省份对应的学生数,key为省份中文全拼,value为学生数。现需要删除人数为0的记录,删除代码如下:map<string,int > countMap;for(map<s
案例分享c++ map的使用和 查找性能测试
最近在为推荐服务作性能调优,这个服务的主要逻辑是用离线计算的模型数据给请求中的每个广告打分,再返回这些广告的排序结果,这里面打分的过程其实就用请求中的数据拼成各种key,去查一个大的 map,这种计算非常多,成为了主要的性能瓶颈,代码比较老
从事C/C++开发多年,给零基础想学习C/C++的几点建议
我在C++领域也从事了好多年了,也是有一些经验心得的,想分享给那些零基础入门C语言的伙伴们。从C++入门到精通各需要学习什么以及注意事项,避免不必要的麻烦,也很浪费时间,经验交流,如有不足之处多多谅解,我也只是简单的介绍。apache ph
C语言不简单,连程序员都这么说,为什么呢?
之前在大学那会学的第一门语言就是C语言了,大家应该跟我相同吧,只要是专业用得到语言的,应该都学过C语言吧,可能大家一致认为C最基础最简单,当然要先学它了,事实并非如此,其实我认识的好多程序员大神都在吐槽C多难多难学,事实亦是如此,可能C语言
C++中的四种强制类型转换_基本用法及使用场景
C中的类型转换: 事情要从头说起,这个头就是C语言.我们已经习惯了使用C-like类型转换,因为它强大而且简单.主要有一下两种形式:(new-type) expressionnew-type (expression)C风格的转换格式很简单
C++11新特性 - 多态和虚函数,override说明符
多态和虚函数多态是C++的重要特征之一,同时也是初学者比较难理解的特征。先来看一个简单的例子: 代码很简单,按照作者自己的话描述一下上述代码中多态从定义到起作用的要点,应该不会再简单了,从main函数看起:基类的指针指向派生类的对象派生类覆
C++11新特性- 纯虚函数和final说明符的用法
个人以为,C++之所以适合架构设计,很大一个原因就是它可以对将来编程。比如可以通过public/protected/private来限定派生类对基类成员的访问,可以定义抽象类要求派生类必须实现的接口等。当我们声明/定义了一个虚函数时候,派生
使用C语言怎样清空输入缓冲区?这里有多种方法值得借鉴
C语言中有几个基本输入函数://获取字符系列int fgetc(FILE *stream);int getc(FILE *stream);int getchar(void);//获取行系列char *fgets(char * restric
【C++】深入了解继承方式基础知识及其与访问限定符的关系
继承方式和访问限定符的关系三种继承方式:公有继承私有继承保护继承关系:若基类的成员函数为私有,则派生类对基类的私有成员是不可见的,其他的标准为选范围小的为最终访问限定。保护成员限定符:一些基类成员不想被基类的对象直接访问,但需要在派生类中才
深入理解C#设计模式之策略模式 角色具体案例分享
策略模式(Stragety Pattern)策略模式属于行为型模式,它定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。使用策略模式可以把行为和环境分割开来。环境类负责维持和查询行为类,