随笔分类 -  C/C++

摘要:建议直接看下面的课程,老师讲得很好! 看中国大学MOOC中的课程:计算机系统基础(一):程序的表示、转换与链接,南京大学 袁春风 B站链接:https://www.bilibili.com/video/BV1gx411n7aG?p=53,(B站清晰度很低) 把下图这几个视频都看一遍: 下面为课程中的 阅读全文
posted @ 2021-07-02 09:08 拾月凄辰 阅读(191) 评论(0) 推荐(0) 编辑
摘要:less对应“<”运算符, greater对应">"运算符。 最近学习STL,发现STL默认都是使用()比较的,默认比较使用less(即'<'运算符),如sort(a,a+n),默认将数组按照递增的顺序来排序(前面的元素<后面的嘛),但是优先队列的源码比较奇特,虽然按道理使用less比较应该默认是小 阅读全文
posted @ 2020-05-03 14:18 拾月凄辰 阅读(1587) 评论(0) 推荐(0) 编辑
摘要:如何选择? 如果你想要一个具有排序后的数据的话,通常可以选择map这种类型。或者想要打印具有一定顺序的元素。 如果你只想记录数据而不是想要将数据进行排序的话,那么就可以选择unordered_map这种数据结构。 注意:unordered_map是在c++11出现的,需要包含<unordered_m 阅读全文
posted @ 2020-05-01 22:01 拾月凄辰 阅读(1695) 评论(0) 推荐(0) 编辑
摘要:scanf、printf比cin、cout速度要快,而且很多时候使用cin会超时,但scanf不会超时,建议以后都用scanf处理输入,printf处理输出。 记住以下4点建议: 1. scanf读入double类型只能用%lf,读入float类型只能用%f 2. printf对于double和fl 阅读全文
posted @ 2020-03-31 22:37 拾月凄辰 阅读(731) 评论(1) 推荐(1) 编辑
摘要:在这里查看getline的函数声明如下: 可以看到,第三个参数delim是分隔符,可以指定不同的分隔符,如果不指定的话就默认是'\n'。 举个例子: 阅读全文
posted @ 2019-09-14 09:20 拾月凄辰 阅读(1848) 评论(0) 推荐(0) 编辑
摘要:scanf("%c", &ch)和scanf(" %c", &ch): %c会读取回车和空格,所以一定要使用后者,即在%c前面加一个空格。 %s用于读取char[]时,会忽略空格和回车,所以不会有这些问题。 阅读全文
posted @ 2019-09-02 18:05 拾月凄辰 阅读(1287) 评论(0) 推荐(0) 编辑
摘要:首先,先看对next_permutation函数的解释: http://www.cplusplus.com/reference/algorithm/next_permutation/?kw=next_permutation 从中可以看出,全排列的第一个序列为从小到大排好序的序列,最后一个序列为从大到 阅读全文
posted @ 2019-03-01 20:40 拾月凄辰 阅读(323) 评论(0) 推荐(0) 编辑
摘要:转载自:https://blog.csdn.net/hrw0702/article/details/5563699#commentBox 一、变量命名规范 变量体如果是多个单词,每个单词的首字母大写。 int iStudentAge; 使用变量前缀 1、整型前缀 short sValue; // s 阅读全文
posted @ 2018-09-24 11:12 拾月凄辰 阅读(793) 评论(0) 推荐(0) 编辑
摘要:参考视频:https://www.bilibili.com/video/av29580072/?p=1 GreedySnake.h 1 #ifndef GREEDYSNAKE_H_INCLUDED 2 #define GREEDYSNAKE_H_INCLUDED 3 4 5 #define SNAK 阅读全文
posted @ 2018-09-24 10:47 拾月凄辰 阅读(277) 评论(0) 推荐(0) 编辑
摘要:本文转载自:https://blog.csdn.net/shulianghan/article/details/20472269 C语言程序内存分配 (1) 内存分区状况 栈区 (stack) : -- 分配, 释放方式 : 由编译器自动分配 和 释放; -- 存放内容 : 局部变量, 参数; -- 阅读全文
posted @ 2018-09-13 21:52 拾月凄辰 阅读(1738) 评论(0) 推荐(0) 编辑
摘要:转载自:https://wdxtub.com/2016/04/16/thin-csapp-1/ 阅读全文
posted @ 2018-09-12 13:03 拾月凄辰 阅读(322) 评论(0) 推荐(0) 编辑
摘要:1 #include <stdio.h> 2 int main() 3 { 4 unsigned char a = 128; 5 char b = a; 6 printf("a = %d , b = %d",a,b); 7 return 0; 8 } 输出结果为 a = 128 , b = -128 阅读全文
posted @ 2018-09-08 13:34 拾月凄辰 阅读(238) 评论(0) 推荐(0) 编辑
摘要:程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 3、全局区( 阅读全文
posted @ 2018-09-06 20:55 拾月凄辰 阅读(342) 评论(0) 推荐(0) 编辑
摘要:此文章参考《深入理解计算机系统》P31。 先看如下代码: 12345的十六进制表示为:0x00003039 1 #include <stdio.h> 2 3 int main() 4 { 5 int a = 12345; 6 char *q = (char *)(&a); 7 for(int i = 阅读全文
posted @ 2018-09-04 20:58 拾月凄辰 阅读(452) 评论(0) 推荐(0) 编辑
摘要:本文转载自: https://www.cnblogs.com/alantu2018/p/8465884.html 递归与尾递归总结 1、递归 关于递归的概念,我们都不陌生。简单的来说递归就是一个函数直接或间接地调用自身,是为直接或间接递归。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界 阅读全文
posted @ 2018-08-13 19:04 拾月凄辰 阅读(277) 评论(0) 推荐(0) 编辑
摘要:0. 属性 new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。 1. 参数 使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。 2. 返回类型 new操作符内存分配成功时, 阅读全文
posted @ 2018-08-01 21:42 拾月凄辰 阅读(203) 评论(0) 推荐(0) 编辑
摘要:注意派生类构造函数的写法。 1 #include <iostream> 2 3 using namespace std; 4 5 enum COLOR { Red, Green, Blue, Yellow, White, Black, Brown }; 6 7 class Animal 8 { 9 阅读全文
posted @ 2018-07-29 12:58 拾月凄辰 阅读(221) 评论(0) 推荐(0) 编辑
摘要:本文出自图书 > 深入理解C++11:C++ 11新特性解析与应用 3.3 右值引用:移动语义和完美转发 3.3.1指针成员与拷贝构造 对C++程序员来说,编写C++程序有一条必须注意的规则,就是在类中包含了一个指针成员的话,那么就要特别小心拷贝构造函数的编写,因为一不小心,就会出现内存泄露。 #i 阅读全文
posted @ 2018-07-25 10:12 拾月凄辰 阅读(1592) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.51cto.com/9291927/2148695 总结: 一、成员函数的内存为什么不会反映在sizeof运算符上? 成员函数可以被看作是类作用域的全局函数, 不在对象分配的空间里, 只有虚函数才会在类对象里有一个指针, 存放虚函数的地址等相关信息(即虚函数表)。 阅读全文
posted @ 2018-07-24 21:33 拾月凄辰 阅读(1849) 评论(0) 推荐(0) 编辑
摘要:查看更加详细的解析请参考这篇文章:http://blog.51cto.com/9291927/2148695 看一个静态绑定的例子: 1 #include <iostream> 2 3 using namespace std; 4 5 class A 6 { 7 public: 8 int a = 阅读全文
posted @ 2018-07-24 18:03 拾月凄辰 阅读(481) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩