![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++常见知识点整理(11标准之前)
整理记录c++11之前的一些规则
_李白_
内外兼修,方是正途;外是架构,内是数学。
展开
-
char*转LPCWSTR的两种方法
char*转LPCWSTR的两种方法原创 2023-06-27 07:00:53 · 3155 阅读 · 0 评论 -
c++11:左值、右值与右值引用
左值和右值左值引用、常量左值引用与右值引用原创 2022-05-14 15:07:44 · 304 阅读 · 0 评论 -
c++:std::dec, std::hex, std::oct
原创 2022-05-09 23:50:05 · 5323 阅读 · 0 评论 -
c++:fno-elide-constructors
-fno-elide-constructorsC++ 标准允许实现省略创建仅用于初始化相同类型的另一个对象的临时对象。指定此选项会禁用该优化,并强制 g++ 在所有情况下调用复制构造函数。原创 2022-05-09 23:02:43 · 1082 阅读 · 0 评论 -
c++:复制构造函数默认浅拷贝出现的悬挂指针的问题
未声明构造函数时,默认生成一个浅拷贝的构造函数原创 2022-05-09 01:22:29 · 207 阅读 · 0 评论 -
c++:空类及其子类的占用空间问题
目录1、空的struct/class占多大空间,为什么占这么多?2、继承空类的子类占用多大空间?3、继承空类的空子类占用多大空间呢?1、空的struct/class占多大空间,为什么占这么多?/*================================================================* Copyright (C) 2021 baichao All rights reserved.** 文件名称:emptyClassSize.cpp原创 2021-02-05 08:35:17 · 749 阅读 · 1 评论 -
c++模板实例化、特化、偏特化
1、实例化实例化很好理解,因为模板在编写的过程中没有传入具体的数据类型,而传入类型并创建实例的过程称之为实例化。tempalte<typename T>class DataAdd(){public: T Add(T a,T b) { return a+b; }};//实例化DataAdd<int> *dataAdd = new DataAdd<int>();std::cout<<"1+2="&原创 2020-10-25 14:17:33 · 820 阅读 · 2 评论 -
c++:sqrt
功能:开平方根头文件:#include<cmath>函数声明:double sqrt (double x);float sqrt (float x);long double sqrt (long double x);double sqrt (T x); // additional overloads for integral types例子:/* sqrt example */#include <stdio.h>原创 2020-09-30 16:03:45 · 6995 阅读 · 0 评论 -
const、volatile、mutable
目录1、const2、volatile3、mutable4、example1、const定义类型为常量。类型为 const-限定的 对象,或 const 对象的非 mutable 子对象。这种对象不能修改:尝试直接这么做是编译时错误,而尝试间接这么做(例如通过到非 const 类型的引用或指针修改 const 对象)导致未定义行为。2、volatile定义类型为易变。希望这个值被正确的处理,每次从内存中去读这个值,而不是因编译器优化从缓存的地方读取,比如读取缓存在寄存器中的数原创 2020-09-23 22:15:44 · 171 阅读 · 0 评论 -
两个数互换,不借助第三个数
直接上代码#include <iostream>using namespace std;int main(){ int a=0,b=1; cout<<"互换前:"<<"a="<<a<<";"<<"b="<<b<<endl; a=a+b; b=a-b; a=a-b; cout<<"互换后:"<<"a="<<a<<";"<<"原创 2020-05-18 11:39:21 · 207 阅读 · 0 评论 -
std::find
function: Find value in rangeReturns an iterator to the first element in the range [first,last) that compares equal to val. If no such element is found, the function returns last.在cplusplus.com上的定义如...原创 2020-04-17 09:47:05 · 355 阅读 · 0 评论 -
operator (操作隐式转换)
operator重载操作符大家都会,今天来说一下operator操作隐式转换,直接看例子#include <iostream>using namespace std;class A{ public: explicit A(int a):m_a(a){} operator int () { return 5*m_a; } p...原创 2020-03-31 14:57:42 · 793 阅读 · 1 评论 -
c++_函数对象
函数对象,即一个重载了括号操作符“()”的对象。当用该对象调用此操作符时,其表现形式如同普通函数调用一般,因此取名叫函数对象。举个最简单的例子:class FuncObjType{public: void operator() () { cout<<"Hello C++!"<<endl; }};调用:FuncObjType func;func...原创 2020-03-19 16:09:27 · 308 阅读 · 0 评论