【C++学习笔记】教程文章相关的互联网学习教程文章

c++学习笔记—单链表基本操作的实现【图】

用c++语言实现的单链表基本操作,包括单链表的创建(包括头插法和尾插法建表)、结点的查找、删除、排序、打印输出、逆置、链表销毁等基本操作。IDE:vs2013具体实现代码如下: [cpp] view plaincopy #include "stdafx.h" #include <malloc.h> #include <iostream> using namespace std; typedef struct Lnode { int data; struct Lnode *next; }*node; node head_creat() //头插法建立单链表 { node hea...

C++并发编程学习笔记<2> 线程管理

线程管理 基本线程管理 启动一个线程 <1>最简单的一种类型void do_some_work();std::thread my_thread(do_some_work); <2>函数对象的形式#include<iostream> #include<thread> using namespace std;class Say_hello { public:void operator()(){cout<<"hello";} };int main() {Say_hello hello;std::thread t(hello);t.join();return 0; } 一旦开启一个线程,你需要明确地决定是否要等它结束 (通过join()函数 ),或让它自己后台...

《C++ Primer Plus》15.5 类型转换运算符 学习笔记

C++相对C更严格地限制允许的类型转换,并添加4个类型转换运算符,是转换过程更规范:* dynamic_cast;* const_cast;* static_cast;* reinterpret_cast。【dynamic_cast运算符】假设High和Low是两个类,而ph和pl的类型分别是High*和Low*,则仅当Low是High的可访问基类(直接或间接)时,下面的语句才将一个Low*指针赋给pl:pl = dynamic_cast<Low *> ph;否则,该与据将空指针赋给pl。通常,该运算符的语法如下:dynamic_cast < ty...

我的C++学习笔记(第02天)

昨天,psv到手,玩的不可开交,于是没有更新,反正是周末休息休息一下啦...话不多说...go on...笔记:第02章 变量和数据类型2.1 常量  常量是在程序运行过程中不变的量,变量是则可发生变化的值."先声明,后使用"2.1.1 声明常量  * const常量(尽量使用)const <类型名> <变量名> = <表达式>;  * 宏常量    #define <宏名> <常量>    宏名可以是简单的字符名,也可以是带有参数的函数名;    常量可以是数值,字符串和函数...

C++反汇编学习笔记(五)各种算数运算的工作形式(3)【图】

1、 自增、自减  很简单,没什么可解释的,注意一下前缀和后缀运算的区别C++源码Debug版Release版#include <iostream>using namespace std;int main(){ int a, b; cin >> a >> b; //自增 a = ++b + 10; cout << a; a = (b++ )- 10; cout << a; //自减 a = --b - 10; cout << a; a = (b--) - 10; cout << a; system(...

《C++Primer》第五版习题解答--第四章【学习笔记】【代码】【图】

【C++Primer】第五版习题解答--第四章【学习笔记】ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考。 作者:cosefy Date: 2020/1/11第四章:表达式练习4.6:判断奇数:if num%2!=0练习4.9:const char* cp = "hello world"; if (cp && *cp)if语句判断cp表示的字符串以及* cp指向的第一个字符是否都为空。练习4。10: 实现:为while循环写一个条件,使其从标准输入中读取整数,遇到42时停止。#include<iostream> using ...

C++ GUI Qt4学习笔记05

C++ GUI Qt4学习笔记05 qtc++正则表达式QIntValidator -- 只让用户输入整数QDoubleValidator -- 只让用户输入浮点数QRegExpValidator -- 只让用户按照正则表达式定义好的样式进行输入 本章讲解如何使用Qt开发自定义窗口部件。通过对一个已经存在的Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件。集成自定义窗口到Qt设计师中,这样就可以像使用内置的Qt窗口部件一样来使用它们。...

c++ 11学习笔记--智能指针【代码】

C++ 98的 std::auto_ptr已经被彻底遗弃了,取而代之的是unique_ptr、shared_ptr与weak_ptr。大部分时候我们自己手动申请内存方式内存都是没有问题的,问题是如果程序很大了之后,一个复杂的对象,多次拷贝的代价非常高,很多地方都会使用到,只存在一份拷贝显然是最好的,这个时候对象生命周期的管理就会很复杂,所以c++引入了智能指针。 任何事物都会有两面性。 Shared_ptr摘录于Effective C++, 3rd Edition, Item 17: 在 standal...

《面向对象程序设计——C++语言描述》学习笔记(二)

第二章 从C到C++ 2.1main函数1.C++中需要写int main()不能只是main()2.main()函数里面最后有一个return 0;3.main()被启动代码调用,而启动代码是编译器添加到程序中的,是程序和操作系统的桥梁。4.C++中main()中的括号空着与void是等效的,都代表不接受参数,在C中是不等效的,括号中空着没有参数代表对是否接受参数保存沉默。2.2 预处理和iostream文件1.#include <iostream>这句预处理在源代码编译之前把iostream文件的内...

C++内存管理学习笔记(5)【代码】【图】

/****************************************************************//* 学习是合作和分享式的!/* Author:Atlas Email:wdzxl198@163.com /* 转载请注明本文出处:* http://blog.csdn.net/wdzxl198/article/details/9112123/****************************************************************/上期内容回顾:C++内存管理学习笔记(4) 2.1-2.2 RAII规则(引入) 2.3 smart pointer 2....

c++学习笔记(3)

1.Triangular t=8;这句是调用单参数的构造函数2.copy constructor VS copy assignment operator3.const修饰符紧接于参数列表之后,而且函数声明和函数定义比较同时指定const。const方法中如果修改了类成员会报错。4.非const对象可以调用非const方法和const方法,但const对象就只能调用const方法,不能调用非const方法。5.非成员函数不容许使用const修饰符。 6.const也可以用来重载 int readIndex() const; int readIndex(); 7.cons...

C++11学习笔记

C++11<?xml:namespace prefix = "o" />1.long long新类型2.列表初始化 int t=0; int t={0}; int t(0); int t{0}; 注意:如果我们使用列表初始化有丢失信息的风险,则编译器报错 long double ld=3.1415926536; int a{ld},b={ld};//错误 int c(ld),d=ld;//正确,会丢失数据3.空指针nullptr int *p1=nullptr; int *p2=0; int *p3=NULL;//尽量避免4.constexpr类型...

C++ 学习笔记之 STL 队列【代码】

一. 引言  在算法以及数据结构的实现中,很多地方我们都需要队列(遵循FIFO,先进先出原则)。  为了使用队列,我们可以自己用数组来实现队列,但自己写太麻烦不说,并且还很容易出错。  好在C++的STL(标准模板库)为我们实现了一个强大的队列,它包含在头文件<queue>中。二. queuea) 构造函数下面用例子来展示queue的构造函数 deque<int> deck(3,100);list<int> mylist(2,100);queue<int> first;//默认构造queue...

C++学习笔记——虚函数【代码】【图】

基本概念虚函数是在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};C++中用它来实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。虚函数实现机制虚函数是如何做到因对象的不同而调用其相应的函数的呢?现在我们就来剖析虚函数。我们先定义两个类class A{//虚函数示例代码 public: virtual voidfun(){cout<<1<<endl...

C++学习笔记2【代码】

动态内存分配其实在学C语言的时候,我们就已经用malloc函数去实现了,当然在C++里也有新的方法。 今天学习的是在C++环境下的动态内存的分配。用new运算符实现动态内存分配有这么两种用法: 1.分配一个变量 exp.P=new T; 其中 T:任意类型名 P:类型为T*的指针 动态分配出一片大小为sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给P。 exp.int *pn; pn=new int; *pn=5;2.分配一个数组 exp.P=new T[N]; 其中 T:任意类型...

学习笔记 - 相关标签