c++
IAmLinGe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
“&”要求左值
错误 C2102 “&”要求左值原创 2021-04-15 15:19:38 · 8024 阅读 · 1 评论 -
C++ 设置线程名字
c++/c程序设置线程名字原创 2020-12-30 18:21:26 · 3688 阅读 · 0 评论 -
C++ 构建最小堆、最大堆
C++ 实现最大堆和最小堆的构造过程原创 2020-08-10 08:31:18 · 2155 阅读 · 0 评论 -
C++11实现自旋锁
参见 《深入理解C++11》#include <thread>#include <atoimic>#include <iostream>#include <unistd.h>using namespace std;std::atomic_flag lock = ATOMIC_FLAG_INIT;void f(int n) { while (lock.test_and_set(std::memory_order_acquire)) { // 尝原创 2020-08-04 16:33:18 · 359 阅读 · 0 评论 -
实现异常安全的String类
#include <string.h>#include <iostream>using namespace std;class String {public: String(const char *str=NULL); String(const String &another); String &operator=(const String &rhs); ~String(); void print() {原创 2020-05-28 14:41:32 · 274 阅读 · 0 评论 -
C++归并排序
#include <vector>#include <iostream>using namespace std;class mergeSort {public: void merge_sort(vector<int>& numbers, int start, int end); void merge(vector<int>& numgbers, int start, int mid, int end);};voi原创 2020-05-21 22:36:31 · 358 阅读 · 0 评论 -
windows 文件对话框
https://docs.microsoft.com/zh-cn/previous-versions/windows/desktop/legacy/bb776913(v=vs.85)原创 2020-04-16 16:13:25 · 347 阅读 · 0 评论 -
torch::Tensor的文件存取
bool classA::saveCvecById(const std::string& user_id, at::Tensor cvec) {#ifndef NDEBUG std::cerr << __FUNCTION__ << ": user_id: " << user_id << std::endl;#endif s...原创 2019-11-22 20:32:47 · 2931 阅读 · 0 评论 -
c++ 从 string 到 short
string test="1234";short *p = reinterpret_cast<short*>(const_cast<char*>(test.c_str()));从 short 到 char *char *q = reinterpret_cast<char*>(const_cast<short*>(p));原创 2019-11-20 21:35:30 · 3176 阅读 · 0 评论 -
expected initializer before
原因:某个地方缺少分号如:void print(int a) { int b ///wrong here std::cout << a << std::endl;}解决:重点排查报错行前几行的变量声明等。原创 2019-10-22 15:22:50 · 7655 阅读 · 0 评论 -
shadows a parameter
原因:函数内声明变量与参数名相同。如:void print(int hello) { int hello; std::cout << hello << std::endl;}解决办法:改变参数参数名或者局部变量名...原创 2019-10-22 09:57:53 · 5456 阅读 · 0 评论 -
error: default argument given for parameter 4
原因:定义函数的时候参数部分有默认值,如下:int classA::print(int a = 0) { std::cout << a << std::endl;}分析:声明函数时参数可以有默认值,定义时不能。...原创 2019-10-18 09:45:58 · 1396 阅读 · 0 评论 -
字符串的排列
3、字符串的排列给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False注意:1...原创 2019-03-02 19:29:08 · 248 阅读 · 0 评论 -
marked override, but does not override
检查这个函数对应的基类函数看是否是虚函数看函数参数是否对应原创 2019-08-22 17:59:49 · 14200 阅读 · 1 评论 -
error: expected unqualified-id before 'public'
Error Codingclass A{};class B public : A {};Correct Codingclass A{};class B : public A{};原创 2019-08-22 17:50:26 · 13586 阅读 · 0 评论 -
error: use of deleted function
本文案例仅供参考出错的代码如下:TEST(Test, test1) { TestImpl impl = TestImpl(para1, para2); ASSERT_EQ("jkj", impl.func("22", "33", "44"));}实际应该这样:TEST(Test, test1) { TestImpl impl(para1, para2); ASSERT_...原创 2019-08-16 12:06:41 · 13773 阅读 · 2 评论 -
linux c++获取指定目录下所有特定后缀名的文件名
#include <iostream>#include <string>#include <vector>#include <string.h>#include <dirent.h>using namespace std;int getFiles(const string path, vector<string>...原创 2019-06-27 12:19:00 · 4650 阅读 · 1 评论 -
字符串加解密
输入:输入有三行:第一行是:加密之后的字符相较于"abcdefghigklmnopqrstuvwxyz0123456789"所在的位置第二行是:模式,其中1代表加密,0代表解密第三行是:要操作的字符串输出:被处理之后的字符串Solution:#include<iostream>#include<string>using namespace std;...原创 2019-03-08 19:00:26 · 429 阅读 · 0 评论 -
统计文章中的单词
输入:字符串,其中可能包含空格,TAB,回车等,规定,仅字母数字和单引号算作单词部分输出:单词的个数Solution:#include<iostream>#include<string>using namespace std;int main(){ string input; char c; int is_word=0; int count=...原创 2019-03-08 18:34:38 · 615 阅读 · 0 评论 -
简化路径
5、简化路径给定一个文档(Unix-style)的完全路径,请将路径简化示例:PATH="/home/"=&gt;"/home"*PATH="/a/./b/../../c/"=&gt;"/c"边界情况:你是否考虑了 路径 = "/../" 的情况?在这种情况下,你需返回 &qu原创 2019-03-03 18:43:21 · 613 阅读 · 0 评论 -
反转字符串里的单词
4、反转字符串里的单词给定一个字符串,逐个反转字符串中的单词示例1:输入: "the sky is blue",输出: "blue is sky the".说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。进阶:请选用C语言的用户尝试使用 O(1) 空间复杂度的...原创 2019-03-03 18:41:42 · 693 阅读 · 0 评论 -
大数相加
输入:两个用字符串表示的大整数 如a=1111111111111,b=222222222222222输出:两个数的和Solution:#include<iostream>#include<algorithm>#include<string>using namespace std;int add(const char&,const c...原创 2019-03-08 15:49:57 · 267 阅读 · 0 评论 -
匹配括号
输入:仅包含{,},(,),[,]的字符串输出:如果括号匹配输出:YES否则输出:NOSolution:#include<iostream>#include<string>#include<stack>using namespace std;bool check(const string&);int main(){ str...原创 2019-03-08 15:03:19 · 396 阅读 · 0 评论 -
获取函数的名字
c99标准中的__func__预定义标识符功能可以帮我们获取函数的名称#include&lt;string&gt;#include&lt;iostream&gt;using namespace std;const char *hello(){ return __func__;}int main(){ cout&lt;&lt;hello()&lt;&lt;endl转载 2018-11-25 17:10:15 · 889 阅读 · 0 评论 -
::范围解析运算符
学习笔记:参考链接 ::是范围解析运算符,或者称为域区分符,用来指明一个函数或一个数据属于哪一个类。 ::也可以域名,表示全局函数或者全局数据 eg:#include&amp;amp;lt;iostream&amp;amp;gt;using namespace std;int month;//全局变量int day;int year;void Set(int m,int d,int y){ ::y...转载 2018-06-06 23:49:16 · 2189 阅读 · 0 评论 -
C++中private成员变量和protect成员变量的区别
保护成员和私有成员很相似,但是就是在子类中,保护成员可以访问,而私有成员不能被访问,也就是说子类中的函数,可以访问父类中的保护成员变量,而不能访问私有成员变量,要想访问父类中的私有成员变量,只能通过父类中定义的函数。 eg:#include &lt;iostream&gt;using namespace std;class Box{ private: in...原创 2018-06-07 01:38:43 · 7477 阅读 · 1 评论 -
输出字符串的比特串
48是0的ASCII码,49是1的ASCII码,char型占一个字节,四个比特。#include<iostream>#include<string.h>using namespace std;string Str2Bin (char* str){ int change,k=0,mask=8; char bit; char stack[100...转载 2018-07-28 17:54:30 · 2136 阅读 · 0 评论 -
详解C++函数模板
函数模板属于类属,能够处理不同的数据类型,当编译器遇到函数调用是,将根据实际参数的类型产生特定的代码,函数模板的定义形式是:template <类型参数表>返回值类型 函数名(形式参数表){//函数体}函数模板可以为我们提供很多方便函数重载的例子:int square(int number){ return number*number;}flo...原创 2018-07-28 19:49:21 · 382 阅读 · 0 评论 -
NewCode----求数列的和
题目描述数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。输入描述:输入数据有多组,每组占一行,由两个整数n(n &lt; 10000)和m(m &lt; 1000)组成,n和m的含义如前所述。输出描述:对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。 示例 输入81 42 2输出94.733.41代...原创 2018-07-22 03:16:55 · 477 阅读 · 0 评论 -
NewCode----句子反转
题目描述给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-&amp;gt; “mi xiao hello”输入描述:输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)输出描述:对于每个测试示例,要求输出句子中单词反转后形成的句子示例1...原创 2018-07-31 00:33:51 · 455 阅读 · 0 评论 -
NewCode----数串
题目描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。 如:n=3时,3个整数13,312,343,连成的最大整数为34331213。 如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述:有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N&lt;=100),第二行包含N个数(每个数不超过1000,空格分开)。输出描述...原创 2018-07-31 01:43:55 · 396 阅读 · 0 评论 -
NewCode----彩色宝石项链
题目描述:有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项链才能够拿到最多的宝石。输...原创 2018-08-01 00:19:29 · 320 阅读 · 0 评论 -
求任意数的阶乘
这是笔试的第二题,求任意数的阶乘其实实质也就是大数相乘,很可惜没有在规定时间内完成这道题,估计这次笔试凉凉。#include&lt;iostream&gt;using namespace std;int result[200] = { 0 };int N;void fun(int n) { int temp; int i; int carry=0; if (n == 1) {...原创 2018-09-20 20:51:32 · 728 阅读 · 0 评论 -
C++开发秋招笔试题
第一题:记得不太清了,凑合看吧!输入:第一行:T 表示有T个测试用例以下N行: 输入的T个测试用例测试用例: 每个输入包含四个输入,a,b,c,n 1&amp;amp;amp;amp;lt;=a,b,c&amp;amp;amp;amp;lt;=9,abc三个值为初始输入,将它们放到输出结果中,依次排列 输出: 输出结果为结果数字串中的第m位的数字,,结果字符串:先是abc以后的每一位...原创 2018-10-14 16:57:06 · 989 阅读 · 0 评论 -
求两个字符串的最长公共子串
给出两个字符串,求出两个字符串的最长公共子串心塞塞,一面之后没有进入二面,菜是原罪。#include&amp;lt;iostream&amp;gt;#include&amp;lt;string&amp;gt;using namespace std;int main(){ string a, b; while (cin &amp;gt;&amp;gt; a &amp;gt原创 2018-11-12 23:55:14 · 1048 阅读 · 0 评论 -
c++函数传参:值传递、指针传递、引用传递
1、将变量名作为实参和形参:这时传给形参的是变量的值,传递是单向的。如果在执行函数期间形参的值发生变化,并不传回实参。应为在调用函数时,形参和实参不是同一个存储单元。2、传递变量的指针:形参是指针变量,实参是一个变量的地址,调用函数时,形参指向实参变量单元。可以通过形参指针修改实参的值。3、c++提供了传递变量的引用。形参是引用变量,和实参是一个变量,调用函数时,形参指向实参变...原创 2018-06-06 16:52:29 · 516 阅读 · 0 评论 -
c获取文件的名字和运行到程序的第几行功能
可以通过__FILE__和__LINE__两个宏获取文件的名字和代码运行的行数#include<stdio.h>int main(){ printf("file:%s line:%d\n",__FILE__,__LINE__); return 0;}__FILE__在linux中能获取到文件名称,但是在windows中获取的是带路径的名字。...原创 2018-11-25 20:56:32 · 333 阅读 · 0 评论 -
通过查看__cplusplus的值查看编译器的C++标准
C++03标准中,__cplusplus被定义为199711L,而在C++11中,__clpusplus则被定义为201103L#include<iostream>using namespace std;int main(){ cout<<__cplusplus<<endl; return 0;}...转载 2018-11-25 21:38:26 · 3196 阅读 · 0 评论 -
C++11的静态断言
断言就是将一个返回值总是需要为真的判别式放在语句中,来排除在设计的逻辑上不应该出现的情况。C++11标准中引入了静态断言:static_assert在C++标准中,<cassert>或assert.h为我们提供了assert宏,但是这个宏只有在运行时才进行断言,这有很多的限制,因为有时候,程序的某些路径我们可能执行不到,所以最好能够在编译的时候就产生断言。C++11标准中就引入了静...原创 2018-11-26 00:22:57 · 442 阅读 · 0 评论 -
C/C++编译、测试须知、须会,CMake、Boost等
一下内容为本人实习期间学习笔记!!参考了网上的许多教程,共享大家,欢迎交流。动态库和静态库(共享库)不同点:代码被载入的时刻不同静态库的代码在编译过程中已经被载入可执行程序,因此体积比较大,程序运行时不再需要静态库动态库的代码编译时不会链接到目标代码中,运行时才被载入,程序运行时还需要动态库存在库的编译:无论是静态库还是动态库,都是.o文件创建的。静态库:1、先通过gcc编译成.o文...转载 2019-01-11 10:50:48 · 812 阅读 · 0 评论
分享