![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 70
浪淘米
勿忘初心,不负梦想,一切随心,随缘,随性,随情……
展开
-
将char* 赋值给std::string的一些陷阱
最近自己也踩到这方面的坑了,费了不少时间,这篇文章讲的详细易懂,mark一下。from:https://blog.csdn.net/analogous_love/article/details/71744427这段时间,总是要使用char或者char* 赋值给std::string,踩了不少坑。于是写了个测试代码,如果你不想看我的代码,可以跳到下面直接看总结:#include <string>#include <iostream> using namespace std;转载 2021-10-10 22:15:47 · 2251 阅读 · 0 评论 -
Linux下C/C++ 程序运行时依赖动态库查找顺序探究
我们都知道,在Linux环境下编译、运行C/C++程序,多多少少都会有一些动态库的依赖。编译时需要编译时的库依赖,发布release版本程序运行时,又会有运行时依赖,这两者还是有区别的。今天,我们探讨下程序运行时动态库的依赖路径如何指定以及它们的查找顺序问题。 很多时候,我们的程序遇到函数undefined reference to的错误,或者某个lib not fo...原创 2019-02-25 23:04:11 · 4514 阅读 · 0 评论 -
Linux C++操作mysql入门
一、初识与mysql相关的部分数据类型和api1.1) MYSQL:该结构代表一个数据库的连接句柄,一般我们都不去复制它 MYSQL_RES:查询返回的结果集 MYSQL_ROW:一行数据的表示,通过调用mysql_fetch_row()获得的。 MYSQL_FIELD:该结构包含字段信息,如字段名、类型和大小等。字段指不包含在这一结构中,其值位于MYS...原创 2018-05-23 14:15:33 · 432 阅读 · 0 评论 -
5分钟搞定内存字节对齐
from: https://blog.csdn.net/hairetz/article/details/4084088写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧. /******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而si...转载 2018-05-17 15:16:19 · 220 阅读 · 0 评论 -
普通值、指针、引用作为函数参数时的理解
很多时候,我们都会看到在教科书上写着各种值传递,引用传递,一看一大堆,有时候看的还容易迷糊,什么情况该怎么传总是区分不清,下边我们用一小版块并结合代码实例讲解下。一、值传递// 普通值传递void test(int num){ num = 5; cout << "in function " << __FUNCTION__ << " " &l...原创 2018-05-04 13:54:09 · 2843 阅读 · 0 评论 -
c++ const、static、static const修饰的类数据成员变量如何初始化
const数据成员变量:const数据成员为整个类所共有,一旦初始化,不允许修改。其初始化方式一:构造函数初始化列表方式(C++98)示例://------------main.cpp#include <iostream>#include <string>using namespace std;class Tag{public: Tag(int x...原创 2018-04-18 10:18:26 · 2508 阅读 · 1 评论 -
c++ top-level const and low-level const
2.4.3.Top-Level const As we’ve seen, a pointer is an object that can point to a different object. As a result,we can talk independently about whether a pointer is const and whether the objectsto...原创 2018-04-17 13:53:31 · 271 阅读 · 0 评论 -
C++ explicit关键字详解
from: https://www.cnblogs.com/ymy124/p/3632634.html首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们...转载 2018-04-04 16:39:02 · 87 阅读 · 0 评论 -
通过写简单的计算器程序理解继承、多态、简单工厂模式
用C++写一个简单的计算器,支持加减乘除运算,使其易于维护,可扩展,可复用等。代码示例如下:// ----------- Operation.h#ifndef __OPERATION_20180223_H__#define __OPERATION_20180223_H__#include <iostream>using std::cout;using std::endl;...原创 2018-02-23 17:23:51 · 761 阅读 · 0 评论 -
C与C++之间的相互调用(混合编程)
C和C++各自有自身的重要功能,为了能够做到充分利用,避免重复造轮子,有的时候,我们会用到混合编程。然而,我们知道,代码从编写到能执行之前,仍需要经过编译、链接阶段。通常,编译每一个单元文件会生成目标文件,然后链接器会把各个目标文件链接起来生成可执行性文件。链接器之所以能把目标文件相互之间链接起来,就是通过查找目标文件中的唯一函数符号(即经过编译器去编译修饰后,重新得到的函数符号)。但...原创 2018-02-28 13:35:55 · 21306 阅读 · 6 评论 -
拷贝构造函数的参数为什么必须使用引用类型
from: http://blog.csdn.net/tunsanty/article/details/4264738在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不好还好,我有...转载 2018-02-26 15:02:38 · 169 阅读 · 0 评论 -
C++虚函数理解(一)
在C++语言中,基类通常会对两类成员函数进行区分,一种是基类希望其派生类进行覆盖的函数;另一种是基类希望其派生类直接继承而不需要覆盖的函数。前者,我们通常称之为虚函数。当我们使用指针或引用调用虚函数时,该调用将被动态绑定。 任何构造函数之外的非静态函数都可以是虚函数。基类通常在其成员的声明函数前加上virtual关键字使该函数成为虚函数。如果基类将某一个函数声明为virtual,则原创 2018-02-01 13:50:53 · 181 阅读 · 0 评论 -
C++中String类的实现
from: https://www.cnblogs.com/zhizhan/p/4876093.htmlString是C++中的重要类型,程序员在C++面试中经常会遇到关于String的细节问题,甚至要求当场实现这个类。只是由于时间关系,可能只要求实现构造函数、析构函数、拷贝构造函数等关键部分。String的实现涉及很多C++的基础知识、内存控制及异常处理等问题,仔细研究起来非常复杂,本文主要做一...转载 2018-02-24 17:08:21 · 155 阅读 · 1 评论