- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 类的成员变量应该使用引用类型、指针类型还是对应类型对象呢?
一、问题如以下代码,当class A中有数据成员是class B时,我们在A中定义成员变量的时候,是应该使用B的指针类型、引用类型还是直接使用类型B呢?class B{ public: int _int_elem;; double _double_elem;};// 方式一// 利用指针或者智能指针定义class A中数据成员Bclass A{ public: B* _b;};// 方式二// 利用引用定义class A中数据成员Bclass A{
2021-01-17 19:07:29 2356 3
转载 在滴滴和头条干了 2 年后端开发,太真实…
作者:syntax_error链接:https://www.nowcoder.com/discuss/351805来源:牛客网最近逛牛客发现一个分享工作经验的专题,貌似还有礼品可拿,OK,我们的故事开始了。先简单交代一下背景吧,某不知名985的本硕,17年毕业加入滴滴,当时找工作时候也是在牛客这里跟大家一起奋战的。今年下半年跳槽到了头条,一直从事后端研发相关的工作。之前没有实习经历,算是两年半的工作经验吧。这两年半之间完成了一次晋升,换了一家公司,有过开心满足的时光,也有过迷茫挣扎的日子,不过还算
2020-08-05 19:08:57 191 3
原创 OpenSSL库计算SHA1哈希值 C/C++
下面的C/C++代码实现利用OpenSSL计算SHA1哈希值 #include <stdio.h> #include <string.h> #include <openssl/sha.h>int main(){ unsigned const char ibuf[] = "compute sha1"; unsigned char ob...
2018-09-03 14:46:27 5483
原创 Reactor Pattern 理解,并用select()实现Reactor模式
Reactor模式是网络编程中常用的模式,著名的libevent网络库就是采用了Reactor模式。最近通过阅读Douglas C. Schmidt 1995年写的关于Reactor模式的论文,理解了Reactor模式,下面是我通过阅读论文的感悟和复现论文中日志服务器的例子程序源码。 该论文讲解透彻,点此下载,建议阅读 Reactor模式常用于同步IO模型,本文中以select()为例进行介绍...
2018-08-17 00:55:46 2441 1
原创 Visual Studio 2013+ Armadillo win32和x64平台下配置步骤
Visual Studio 2013 + Armadillo win32和x64配置系统版本:win10 64位 Visual Studio 2013x64和win32配置的不同主要是有两点: 1. 项目属性页配置不同 2. 使用的blas和lapack库不同(分为32位库和64位库)。 下图是项目的属性页,注意修改红线部分, 配置选择所有配置,平台分别选择 win32 和 x64进行配置
2017-11-06 22:30:30 1691
转载 Armadillo矩阵库输出位数(精度)控制
http://stackoverflow.com/questions/26819383/how-can-i-increase-the-number-of-digits-displayed-when-using-armadillo-library
2017-03-30 09:44:35 849
原创 double类型变量输出到文本文件(txt) 控制输出有效位数
在C++中将double变量输出到txt文本中时,使用默认的输出操作符输出,只能输出6位有效数字,有时不能达到精度要求。没有精度控制,将double变量输出到txt的代码如下#include <fstream>using namespace std;int main(){ double variable = 1.0 / 3; ofstream myfile("double
2017-03-28 09:48:01 6851
原创 C语言变量作用域、连接和存储时期
作用域 C语言中变量的作用域分为:代码块作用域,函数原型作用域和文件作用域。 1.1 代码块作用域 代码块是包含在开始花括号和对应的结束花括号之内的一段变量。在代码块中定义的变量具有代码块作用域。 1.2 函数原型作用域适用于函数原型中使用的变量名( 不重要 ) 1.3 文件作用域:一个在所有函数之外定义的 变量具有文件作用域。具有文件作用域的变量从它定义初到包含该定义的文件结尾处都是可见
2017-03-20 17:17:14 643
原创 静态类型语言和动态类型语言
静态类型(statically typed )语言在编译时确定变量的类型(C/C++),优点是可以编译时检查错误,可以较早的发现错误。 动态类型( dynamically typed)语言在运行时确定变量的类型(Pythod, Perl, Matlab ),优点是可以更快的编程,不需要指定类型,缺点是需要自己检查变量类型(type-checking)。A language is staticall
2017-03-17 13:56:26 760
原创 typedef 定义数组类型用法
今天看Weiss的《数据结构与算法分析》看到一条typedef语句,不明白其意义。 typedef struct TableEntry Table[ NunVertex ]; 通过查看《 C Primer Plus 》中typedef的相关用法,找到答案。 typedef 关键字有如下用法 typedef int arrs[5]; typedef arrs * p_
2017-03-12 13:46:27 18000 5
原创 二维数组 作为函数参数 传递方法
1. 二维数组的存储方式及访问方式二维数组中元素按行存储,所以利用数组下标对元素进行访问时,需要知道数组的列数。例如:定义二维数组 int graph[7][7],当需要访问数组元素graph[3][4]时,就需要寻址,*(graph + cols * 3 + 4) = *( graph + 7 * 3 + 4),对二维数组访问必须知道数组列数。2. 二维数组作为函数参数传
2017-03-05 15:13:33 1429
转载 rror C2248: “std::basic_ios<_Elem,_Traits>::basic_ios”: 无法访问 private 成员(在“std::basic_ios<_Elem,_Trai
error C2248: “std::basic_ios::basic_ios”: 无法访问 private 成员(在“std::basic_ios”类中声明)问题解决原因是流对象是不允许复制,所以在传给函数作为参数是应该传入引用,这样就没有问题了Cpp代码 void parse_text(string file_name,ofstream o
2017-02-21 16:46:12 1811
原创 C++中 const对象的用法
1. 定义const 对象const 限定符把一个对象转化为一个常量,const int bufSize = 512; bufSize由const 限定无法修改。const 对象必须在定义时初始化。2. const对象默认为文件的局部变量与非 const 对象不同,除非特别声明,在全局作用于声明的 const 变量是定义对象的文件的局部变量例如: // file_1.cc
2017-02-19 15:46:24 404
转载 理解C++中的头文件和源文件的作用
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separatecompilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独
2017-02-19 15:09:32 656
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人