
整理--C/C++分类
C/C++分类整理
猴子居士
这个作者很懒,什么都没留下…
展开
-
C++的构造tips
作者:匿名用户链接:https://www.zhihu.com/question/30196513/answer/563560938来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。C++难就难在:在C++中你找不到任何一件简单的事。上面有人把C++和物理作类比。我很同意。理论物理是一场无尽的旅程,总有最前沿的东西。我对神经科学很感兴趣,也有幸与一个神经科学相关专业的学生交流过,她还给我发过资料,我很感激。然而我在知乎上看到过一个相关的讨论。一个人说“我小时候就想知道大脑原创 2021-12-16 10:03:48 · 1472 阅读 · 0 评论 -
STL容器的线程安全
众所周知,STL容器不是线程安全的。对于vector,即使写方(生产者)是单线程写入,但是并发读的时候,由于潜在的内存重新申请和对象复制问题,会导致读方(消费者)的迭代器失效。实际表现也就是招致了core dump。另外一种情况,如果是多个写方,并发的push_back(),也会导致core dump。解法一:加锁是一种解决方案,但是加std::mutex互斥锁确实性能较差。对于多读少写的场景可以用读写锁(也叫共享独占锁),来缓解。C++17引入了std::shared_mutex 。更多锁的种类可以原创 2021-12-14 15:45:17 · 1763 阅读 · 0 评论 -
一些运算符重载研究
一些运算符重载研究#include <iostream> /* 可重载运算符双目算术运算符 + (加),-(减),*(乘),/(除),% (取模)关系运算符 ==(等于),!= (不等于),< (小于),> (大于),<=(小于等于),>=(大于等于)逻辑运算符 ||(逻辑或),&&(逻辑与),!(逻辑非)单目运算符 + (正),-(负),*(指针),&(取地址)自增自减运算符 ++(自增),--(自减)位运算符原创 2021-12-13 10:22:47 · 943 阅读 · 0 评论 -
完美转发例子与研究
完美转发例子与研究#include <iostream> template<typename T>void f(T&) { std::cout << "T&" << std::endl;}template<typename T>void f(T&&) { std::cout << "T&&" << std::endl;}template&原创 2021-12-13 10:19:51 · 266 阅读 · 0 评论 -
C/C++:基础知识
题目描述写一个 bash脚本以统计一个文本文件 nowcoder.txt中字母数小于8的单词。示例:假设 nowcoder.txt 内容如下:how they are implemented and applied in computer 你的脚本应当输出:howtheyareandappliedin说明:不要担心你输出的空格以及换行的问题...原创 2021-03-19 22:09:12 · 177 阅读 · 0 评论 -
C/C++:C++11新特性
题目描述写一个 bash脚本来转置文本文件nowcoder.txt中的文件内容。为了简单起见,你可以假设:你可以假设每行列数相同,并且每个字段由空格分隔示例:假设 nowcoder.txt 内容如下:job salaryc++ 13java 14php 12你的脚本应当输出(以词频升序排列):job c++ java phpsalary 13 14 12...原创 2021-03-20 13:18:34 · 108 阅读 · 0 评论 -
C/C++:newcode经典例子
题目描述给定一个 nowcoder.txt文件,其中有3列信息,如下实例,编写一个sheel脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息:实例:20201001 python 9920201002 go 8020201002 c++ 8820201003 php 7720201001 go 8820201005 shell 8920201006 java 7020201008 c 10020201007 java 8820201006 go 97结果原创 2021-03-19 22:13:06 · 577 阅读 · 0 评论 -
C/C++:经验中展示的各种情况
题目描述写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数示例:假设 nowcoder.txt 内容如下:#include <iostream>using namespace std;int main(){ int a = 10; int b = 100; cout << "a + b:" << a + b << endl; return 0;}你的脚本应当输出:9...原创 2021-03-19 22:02:38 · 108 阅读 · 0 评论 -
C/C++:秘籍类书中展示的各种情况
堆排序#include&amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;using namespace std;void heapfy(int a[], int index, int heapsize){ int left = index*2+1; int right = left+1; int largest = index; if(left&amp;amp;amp;原创 2018-04-14 17:30:32 · 133 阅读 · 0 评论 -
C/C++:好书中遇到的各种例子(标明书名)
测试快速排序// 测试快速排序#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;using namespace std;int Partition(int a[], int low, int high) { int pivot = a[low]; while(low &amp;amp;amp;amp;lt; high) {原创 2018-04-14 19:49:00 · 128 阅读 · 0 评论