C plus plus
daa20
这个作者很懒,什么都没留下…
展开
-
error: ‘make_unique‘ is not a member of ‘std‘
【代码】error: 'make_unique' is not a member of 'std'原创 2022-09-21 21:12:25 · 1835 阅读 · 0 评论 -
c++ priority_queue的简单使用
1、priority_queue<float, vector< float>, less< float>> 注:默认是less#include <iostream>#include <queue>#include <vector>using namespace std;void test_1(void){ cout << endl << "test_1: " << endl;原创 2022-04-19 10:20:25 · 903 阅读 · 0 评论 -
c++ 移动语义与拷贝
移动语义:传统 C++ 通过拷贝构造函数和赋值操作符为类对象设计了拷贝/复制的概念,但为了实现对资源的移动操作, 调用者必须使用先复制、再析构的方式,否则就需要自己实现移动对象的接口。 试想,搬家的时候是把家里的东西直接搬到新家去,而不是将所有东西复制一份(重买)再放到新家、 再把原来的东西全部扔掉(销毁),这是非常反人类的一件事情。传统的 C++ 没有区分『移动』和『拷贝』的概念,造成了大量的数据拷贝,浪费时间和空间。 右值引用的出现恰好就解决了这两个概念的混淆问题,例如:移动语义:~/tes原创 2022-03-09 10:53:42 · 894 阅读 · 0 评论 -
c++ lambda的按值访问和按引用访问
$ cat test2.cpp#include <iostream>using namespace std;void lambda_test(void){ int x = 2; int y = 10; auto lambda = [x, &y] { //此处x = 2,会影响测试1和测试2中的x。 cout << "x: " << x << endl; cout <&l原创 2022-03-02 09:52:27 · 817 阅读 · 0 评论 -
c++中关于默认值的设置
测试代码:$ cat test4.cpp#include <iostream>using namespace std;void func(int a, int b, int c = 10);void func2(int a, int b, int c);int main(int argc, char *const argv[]){ func(1, 2); func(1, 2, 3); func2(1, 2); //oops !!!!! fun原创 2022-02-28 10:30:42 · 1610 阅读 · 0 评论 -
c++ map用法
#include <iostream>#include <map>using namespace std;class Test_t { private: int a; public: Test_t(int a) { this->a = a; } ~Test_t() { cout << "des原创 2022-02-16 10:45:21 · 322 阅读 · 0 评论 -
c++从一个map复制到另一个map
$ cat test_map.cpp#include <iostream>#include <map>using namespace std;class Test { public: int a; int b; Test(int a, int b) { this->a = a; this->b = b; }原创 2021-08-09 17:04:43 · 10855 阅读 · 0 评论 -
编译错误之error C3861: “getline”: 找不到标识符的问题
// f0211.cpp : 定义控制台应用程序的入口点。//文件流 复制文件#include "stdafx.h"#include "fstream"#include "strings"using namespace std;int main(){ifstream in("a.in");ofstream out("a.out");f原创 2014-07-06 09:00:38 · 5997 阅读 · 0 评论 -
在c++中,vector的用法
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.转载 2014-09-20 19:45:16 · 435 阅读 · 0 评论 -
C++一些疑惑!
对象本体: 可以理解为一个对象类型,如类 类型(就是 class 定义) 对象实体:可以理解为一个对象实例,就是用这个类型定义的一个变量 ... 可以操作的是对象实体(实例),它才是一个有效的变量 ~ 对象本体 只是一个类型 .....例如class A { } A a; 这里A是本体,a是实体转载 2014-10-10 10:28:53 · 461 阅读 · 0 评论 -
错误 1 error C2065: "endl": 未声明的标识符
//f0513//函数重载:C++编译器根据函数参数的类型,数量和排列顺序的差异,来区分同名函数,其技术称为重载技术//相应的同名函数称为重载函数#include //using namespace std;int abs(int a){ return (a>0)?a:-a;}double abs(double a){ return (a>0)?a:-a;}int ma原创 2014-09-20 19:06:38 · 5063 阅读 · 0 评论 -
vs2005的调试工具的设置
正常我们使用vs2005时,调试程序,菜单栏给出的调试原创 2014-10-28 21:31:59 · 821 阅读 · 0 评论 -
ANSI C标准预定义宏 --使用与C++
ANSI C标准中有几个标准预定义宏:__FILE__ __DATE__ __TIME___ __LINE__ 等__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__STDC__:当要求程序严原创 2014-10-21 21:03:20 · 697 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStart
无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用在编程时经常遇到“无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用”这样的错误,最近看了一些这方面的书籍,现将解决方案大概叙述一下:连接程序在负责连接可执行程序时,选择相应的c/c++运行时启动函数。如果设定了/subsystem:windows连接程序开转载 2014-10-28 20:04:37 · 3730 阅读 · 1 评论 -
Failed to save the updated manifest to the file ".\Debug\Test.exe.embed
解决的方法:点class view中的工程,选右鍵,再点clean就可以了; 或者是 build->clean solusion。解决的方法:点class view中的工程,选右鍵,再点clean就可以了; 或者是 build->clean solusion。原创 2014-11-02 20:02:50 · 654 阅读 · 0 评论 -
“CButton::Create”: 不能将参数 1 从“const char [5]”转换为“LPCTSTR”
Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常数相关,如_T("Hello")。如果你编译一个程序为ANSI方式,_T实际不起转载 2014-11-02 20:05:31 · 710 阅读 · 0 评论 -
error C2440: “=”: 无法从“const char [11]”转换为“LPCWSTR”
代码在VC6中没问题. 因为它的代码没有按可编译为UNICODE版本的方式写,而VS2005之后版本默认是UNICODE编码的.所以所有使用到字串的地方都会出错.方法:修改VS2005之后版本的设置:选择你的项目->属性->常规->设置为不使用UNICODE,发现设置为多字节字符集也可以。发现用VS2005打开VC6的源代码,转换后是使用的多字节字符集。 在VS2008,vs2010中转载 2014-10-28 19:37:56 · 840 阅读 · 0 评论 -
错误 1 生成“cmd.exe”时出错。(vs2005)
MSDN上提示错误的可能原因为: 系 统资源不足。关闭一些应用程序以解决此问题。 没有足够的安全特权。验证是否有足够的安全特权。 VC++ 目录中指定的可执行路径不包括您正尝试运行的工具的路径。 对于生成文件项目,缺少要在“生成命令行”或“重新生成命令行”上运行的命 令。 查了查资料,看到是因为VS2005的环境变量设置不对(但是怎么会不对的呢?之转载 2014-09-29 10:00:19 · 1404 阅读 · 1 评论 -
SQL Server 2000 导入2005的数据
此文章主要向大家描述的是SQL Server 2000 导入SQL Server 2005数据的实际操作流程, 其实从SQL Server2005中导入到2000的数据并不是很难的事情,我们今天就一起和大家讨论的是其具体的操作流程,做法如下:1:把SQL Server 2000的数据库backup,做成一个bak的备份文件2:在SQL Server 2005中新建数据库,然后选择恢转载 2014-09-20 15:34:14 · 504 阅读 · 0 评论 -
定义类class
1.使用struct结构://---------main.cpp------------#include #include using namespace std;struct Date{ unsigned int year; unsigned int month; unsigned int day;};bool isLeapYear(Date d);inlin原创 2015-09-24 21:50:33 · 377 阅读 · 0 评论 -
类中的成员函数的内敛和定义
12//---------main.cpp------------#include using namespace std;class Date{public: int year,month,day;public: void set(int y,int m ,int d) { year = y; month = m; day = d; } boo原创 2015-09-25 08:47:32 · 808 阅读 · 0 评论 -
重载成员函数
//---------main.cpp------------#include #include #include //atoi() using namespace std;class Date{ int year,month,day;public: void set(int y,int m ,int d) { year = y; month = m; d原创 2015-09-25 09:52:51 · 454 阅读 · 0 评论 -
类中的常成员函数的使用和定义
如果只对对象进行读操作,则该成员函数可以设计成常成员函数。设计成常成员函数的好处是:让使用者一目了然地知道该成员函数不会改变对象的值。常成员函数的声明和定义在形式上必须一致,即在函数形参列表的右括号后面加上const。//---------main.cpp------------#include using namespace std;class Date{public:原创 2015-09-25 09:32:16 · 7015 阅读 · 1 评论 -
类中使用静态数据成员
类的静态成员,保证每个类只有一个实体,每个对象中不再有它的副本。由于静态成员脱离对象而存在的性质,所以该实体应该在所有对象产生之前存在,因此,更适合的时机是在程序启动的时候,做其初始化。//---------main.cpp------------#include #include using namespace std;class Student{priv原创 2015-09-28 15:00:41 · 617 阅读 · 0 评论 -
类中静态成员函数的使用
访问静态数据成员,一般来说,先创建一个对象,对象捆绑一个成员函数,去操作静态数据成员。难道对象不存在时就不能观察静态数据成员了吗?因此,与数据成员一样,将静态成员做成私有的,用静态成员函数去访问静态数据成员是合适的。//---------main.cpp------------#include #include using namespace s原创 2015-09-28 15:18:52 · 1413 阅读 · 0 评论 -
类中构造函数的重载
//---------main.cpp------------#include #include #include using namespace std;class Date{private: int year,month,day;public: Date(int y=2000,int m=1,int d=1);//设置构造函数的默认参数 Date(const stri原创 2015-09-29 10:22:54 · 607 阅读 · 0 评论 -
成员对象
成员对象以其在类中声明的顺序构造,不以构造函数中构造参数表的顺序来规定对象的构造顺序。//---------main.cpp------------#include //测试成员对象的创建顺序using namespace std;class A{public: A(int x){std::cout";}};class B{public: B(int x){std原创 2015-09-29 20:24:43 · 361 阅读 · 0 评论 -
对象转型
//---------main.cpp------------#include #include //对象转型using namespace std;class Student{private: string name;public: Student(const string &s){ name=s; std::cout<<name<<endl;} void print(原创 2015-09-30 09:50:55 · 348 阅读 · 0 评论 -
类中构造函数的重载 + 校验
//---------main.cpp------------#include #include #include using namespace std;class Date{private: int year,month,day; //void init();public: Date(int y=2000,int m=1,int d=1);//设置构造函数的默认参数原创 2015-09-29 10:31:59 · 434 阅读 · 0 评论 -
默认拷贝构造函数的问题和自定义拷贝构造函数
//---------main.cpp------------#include //默认拷贝构造函数using namespace std;class Person{private: char *pName;public: Person(char *pN = "noName") { std::cout<<"constructing :"<<pN<<endl; pNa原创 2015-09-29 21:42:44 · 868 阅读 · 2 评论 -
析构顺序
//---------main.cpp------------#include //析构顺序using namespace std;class A{public: A(){std::cout ";} //构造函数 ~A(){std::cout<<" <-~A";} //析构函数};class B{public: B(){std::cout ";}原创 2015-09-29 22:04:44 · 523 阅读 · 0 评论 -
默认调用无参构造函数 用的非常到位
//---------main.cpp------------#include #include using namespace std;class StudentID{private: int value;public: StudentID() { static int nextStudentID = 0; //很巧妙的利用了构造函数 注意构造函原创 2015-09-29 11:15:05 · 1116 阅读 · 0 评论 -
局部对象
//---------main.cpp------------#include using namespace std;class A{public: A(){std::cout "<<endl;}};class B{public: B(){std::cout "<<endl;}};class C{public: C(){std::cout "<<endl;原创 2015-09-29 16:15:44 · 407 阅读 · 0 评论 -
拷贝构造函数
类机制中有默认的赋值操作符,只要定义了类,就可以进行对象的赋值操作。Person p1("Jack");Person p2;p2=p1;但是默认的赋值操作符只管对象本体的复制,如果对象之间要做深拷贝的话,则必须自定义赋值操作符。自定义赋值操作符必须注意,原来的对象已经存在,要先将原来的资源释放掉,然后再进行深拷贝的复制。//---------main.cpp----------原创 2015-09-30 11:22:55 · 332 阅读 · 0 评论 -
类中的构造函数
//---------a.h------------#ifndef __A_H#define __A_H#include //namespace abc//{// void myname();//}class PPoint{private: double x,y;public: PPoint(double ix,double iy); double xOffset原创 2015-09-29 09:51:56 · 316 阅读 · 0 评论 -
构造函数与析构函数的顺序及动态内存的申请
//---------main.cpp------------#include //创建对象需要额外内存using namespace std;class Person{private: char *pName;public: Person(char *pN = "noName") //构造函数 { std::cout<<"construct原创 2015-09-29 21:06:31 · 1799 阅读 · 0 评论 -
继承包含 与 组合包含的区别
//---------main.cpp------------#include #include //继承包含 与 组合包含using namespace std;class Vehicle{};class Motor{};class Car :public Vehicle //继承包含{public: Motor motor; //组合包含};原创 2015-10-02 17:58:52 · 821 阅读 · 0 评论 -
多重继承
多重继承:一个类可以从多个父类派生。//---------main.cpp------------#include #include //多重继承using namespace std;class Bed{protected: int weight;public: Bed(){weight=0;}//构造函数 void sleep(){std::cout<<"Sle原创 2015-10-02 18:55:09 · 287 阅读 · 0 评论 -
类的继承
//---------main.cpp------------#include #include //继承using namespace std;class Student{private: string name; int semesterHours ; double average;public: Student(string pName = "noName")原创 2015-10-01 10:38:20 · 278 阅读 · 0 评论 -
error: L6047U: The size of this image (32868 bytes) exceeds the maximum allowed for this version of
keil编译stm32出现..\OBJ\Template.axf: error: L6047U: The size of this image (32868 bytes) exceeds the maximum allowed for this version of the linker激活后:原创 2015-10-02 11:52:25 · 33486 阅读 · 5 评论