c++
andeyeluguo
这个作者很懒,什么都没留下…
展开
-
transform 也可用于数组
transform不止用于迭代器accumulate是求和LOG(ERROR) <<"hello";std::cout << "Hello, World!" << std::endl;float a[2][2] = {{1,2}, {3,4}};float b[3] = {1,2,3};std::transform(b, b + 3, b,[](float c){return c + 1;});return 0;...原创 2022-04-19 20:52:01 · 303 阅读 · 0 评论 -
unique_ptr的一些理解
release 返回一个指向被管理对象的指针,并释放所有权, 死之前把权利交出来void * a = b.release() 没有释放(release)内存,只是b变成了nullptrswap 易子而食reset 鸠占雀穴unique_ptr 一夫一妻制move 移动语义, 两个指针不能直接赋值,只能加这句话a = move(b),内部有a原来指向的内存释放的发生make_unique<A>();unique_ptr<A>(new A)#include &...原创 2022-04-08 07:01:32 · 156 阅读 · 0 评论 -
priority_queue
优先队列也是常见的数据结构,常用来排序#include <iostream>#include <vector>#include <queue>using namespace std;int main() { priority_queue<int, vector<int>, less<int>> a; a.push(2); a.push(3); a.push(1); while (!原创 2021-11-19 17:06:06 · 576 阅读 · 0 评论 -
可信20210122招聘题
第一题 招聘候选人#include <iostream>#include <vector>#include <set>#include <algorithm> // sort 函数在此头文件using namespace std;/*结构体的排序:1. 定义结构体struct St { }2. 定义排序函数bool cmp(St left, St right) { if (left.a != right.a) return l原创 2021-11-12 22:40:09 · 846 阅读 · 0 评论 -
aicpu代码备份
aicpu使用的代码备份,最后可以用单例模式来做,一个thread的单例子diff --git a/mindspore/lite/tools/benchmark/nnie/src/custom_fp32.cc b/mindspore/lite/tools/benchmark/nnie/src/custom_fp32.ccindex b10c4d0f26..28494e82d7 100644--- a/mindspore/lite/tools/benchmark/nnie/src/custom_fp原创 2021-09-07 10:31:04 · 207 阅读 · 0 评论 -
vector的实现
实现如下int VectorCInit(VectorC *vc, size_t per_malloc_size) { if (per_malloc_size == 0) { return NNACL_ERR; } vc->data_ = (int *)malloc(per_malloc_size * sizeof(int)); if (vc->data_ == NULL) { return NNACL_ERR; } vc->size_ = 0;原创 2021-08-14 16:43:58 · 95 阅读 · 0 评论 -
最多能承接水
用双指针夹逼准则int maxArea(vector<int>& height) { int i = 0; int j = height.size() - 1; int res = 0; while (i < j) { res = max(max(height[j], height[i]) * (j - i), res); if (height[i] < height[j]) { i++; } else { j--; } } r原创 2021-06-30 09:47:46 · 76 阅读 · 0 评论 -
168 EXCEL表列名称
有些东西老是会漏掉一些东西代码缝缝补补还能用#include <iostream>#include <map>using namespace std;map<int, char> ma;void getMap() { for (int i = 0; i < 26; i++) { ma[i + 1] = 'A' + i; }}string convertToTitleError(int columnNumber原创 2021-06-29 11:00:22 · 86 阅读 · 0 评论 -
43-字符串相乘
1.初级解法,越界了int GetCharValue(char c) { return c - '0';}vector<int> GetStrValue(string num) { int n = nums.size(); vector<int> res; for (int i = 0; i < n; i++) { res.push_back(GetCharValue(num[i]) * pow(10, n - i - 1)); } return re原创 2021-06-28 22:47:35 · 80 阅读 · 0 评论 -
最长回文串
现在的代码只能通过部分的用例,先记录一下class Solution {public:string char2str(char a) { string ret = ""; ret.push_back(a); return ret;} string longestPalindrome(string s) { if (s.size() == 1) { return s; }原创 2021-06-21 20:52:58 · 67 阅读 · 0 评论 -
理解递归程序的执行顺序
递归的执行是深度优先执行可用该程序得到int fab(int n) { std::cout << n << std::endl; if (n == 0) return 0; if (n == 1) return 1; return fab(n - 2) + fab(n - 1);}int main() { //auto res = solveNQueens(9); fab(3); return 0;}..原创 2021-06-19 22:18:47 · 284 阅读 · 2 评论 -
N皇后问题
目前只能得到一个解,后续会更改主要是仿造的数独问题的解法class Solution {public: bool isValid(int row, int col, vector<vector<char>> &board) { for (int i = 0; i < board.size(); i++) { if (board[row][i] == 'Q' || board[i][col] == 'Q') {原创 2021-06-19 20:57:48 · 74 阅读 · 0 评论 -
最小路径和--递归我真的把握不住
直接遍历可以,但是 递归不行,,,class Solution {public: int minSum(int i, int j, vector<vector<int>>& grid) { if (i == 0 && j == 0) { return grid[0][0]; } else if (i == 0 && j != 0) { return原创 2021-06-19 01:10:48 · 75 阅读 · 0 评论 -
set的应用
set具有元素唯一性 void setZeroes(vector<vector<int>>& matrix) { set<int> row; set<int> col; for (int i = 0; i < matrix.size(); i++) { for (int j = 0; j < matrix[0].size();原创 2021-06-17 22:13:08 · 64 阅读 · 0 评论 -
计算器工程
double myPowSlow(double x, int n) { if (n == 0) { return 1; } if (abs(x - 1.0) < 1e-8) { return 1.0; } double product = x; if (n > 0) { for (int i = 1; i < n; i++) { product = product * .原创 2021-06-17 21:49:31 · 100 阅读 · 0 评论 -
list map 重写
二叉树和链表原创 2021-06-17 21:39:01 · 56 阅读 · 0 评论 -
数独终结者工程
可以判断是否是有效数独,可以自动求解数度/* * @lc app=leetcode.cn id=37 lang=cpp * * [37] 解数独 */// @lc code=startclass Solution {public:bool isValidSudoku(vector<vector<char>>& board) { int row = board.size(); int col = board[0].size();原创 2021-06-17 11:28:12 · 105 阅读 · 0 评论 -
图像处理系统
图像处理系统#include <iostream>#include <stdio.h>#include <map>#include <string>#include <vector>using namespace std;void rotate90(vector<vector<int>>& matrix) { int n = matrix.size(); for (size_t2021-06-16 17:13:40 · 527 阅读 · 0 评论 -
文本编辑器工程
相关代码#include <iostream>#include <stdio.h>#include <map>#include <string>#include <vector>using namespace std;bool IsInString(string goal, char input) { for (size_t i = 0; i < goal.size(); i++) { if (go原创 2021-06-16 11:50:04 · 64 阅读 · 0 评论 -
类的变量的初始化顺序
通过下面的例子可以清晰的看出初始化顺序是这样的1. 声明时2. 初始化列表3.#include <iostream>#include <stdio.h>#include <string>class A {public: A():a(2),b(2){ b = 3; } void print_a() { std::cout << a << std::endl;原创 2021-06-11 11:38:30 · 66 阅读 · 1 评论 -
realpath的使用
int main() { char image_real_path[2048]; void *buff = nullptr; float *d = reinterpret_cast<float *>(buff); std::string image_path = "/home/huawei/CLionProjects/untitled14/cmake-build-debug/Makefile"; auto res = realpath(image_pat.原创 2021-06-11 11:31:51 · 1830 阅读 · 0 评论 -
fetch commit id
git remote add [nick_name] [url]git fetch [nick_name] [commit_id]git reset --hard FETCH原创 2021-06-02 09:20:49 · 264 阅读 · 0 评论 -
asan测量内存泄漏
稀疏 量化ASAN valgrind部分注释隔离代码 隔离模型findBackendKernellite_session.cc版本回退大法 git reset --hard commit_d二分法内存占用曲线智能指针release保证内存被托管原创 2021-06-01 20:38:00 · 190 阅读 · 0 评论 -
cmake string
cmake stringcmake_minimum_required(VERSION 3.19)project(untitled13)set(CMAKE_CXX_STANDARD 14)set(x "hello")set(y "world")message(${x})string(CONCAT z ${x} ${y})message(${z})set(a "${x}/${y}")message(${a})add_executable(untitled13 main.cpp).原创 2021-04-22 11:26:10 · 297 阅读 · 0 评论 -
cmake
file tree is├── CMakeLists.txt├── main.cpp├── mindspore│ ├── CMakeLists.txt│ ├── kernel_registry.cpp│ └── kernel_registry.h└── nnie ├── CMakeLists.txt └── nnie.cppmain.cc file#include <iostream>#include "mindspore/kerne...原创 2021-04-19 10:51:55 · 62 阅读 · 0 评论 -
so use so then load the global reg
main.cc#include <iostream>#include "kernel_registry.h"int main(){ auto handle = dynamicOpen(); auto res = KernelRegistry::GetInstance()->getReg(); std::cout << res[0] << std::endl; std::cout<<"Hello, World!"<<原创 2021-04-16 11:18:08 · 65 阅读 · 0 评论 -
singllon register
main.cpp#include <iostream>#include "kernel_registry.h"static KernelRegistrar LiuYu("liuyu");int main(){ auto res = KernelRegistry::GetInstance()->getReg(); std::cout<<"Hello, World!"<<std::endl; return 0;}kernel_原创 2021-04-16 09:10:42 · 57 阅读 · 0 评论 -
封装的一个动态加载so文件的类
如下using namespace std;class SoLoader {public: int loadSo(const char *SoPath) { handler_ = dlopen(SoPath, RTLD_LAZY); return 0; } void *GetFunc(const char *FuncName) { return dlsym(handler_, FuncName); } ~SoL原创 2021-04-15 19:56:25 · 110 阅读 · 0 评论 -
一个经典小程序
下面一个非常经典的例子学习继承类之间的调用关系#include <iostream>using namespace std;class base {public: base(){ cout << "base()"; } virtual ~base() { cout << "~base"; }};class subs:public base{public: subs() {原创 2021-01-31 20:37:21 · 195 阅读 · 0 评论 -
智能指针及其原理
智能指针也是常考的内容智能指针是为了内存管理1.shared_ptr原理共享内存类似于可以想象,一个人手指着一块区域,那么这个区域就自动生长一个定时炸弹,定时炸弹显示为1,再来一个人指着,炸弹显示为2,当没有人指的时候,这块区域就会自动爆炸。循环引用,计数失效,内存泄漏2.unique_ptr原理独有指针,每个指针指向一个内存,是绑定的,同时消失...原创 2020-06-12 14:32:29 · 189 阅读 · 0 评论 -
一个c++11多线程的例子
代码有问题,先备份下#include <thread>#include <mutex>std::mutex io_mutex;using namespace cv;using namespace std;Mat image_catch;volatile bool thread_all_exit = false;Mat display_mat_origin;...原创 2020-05-06 17:34:16 · 211 阅读 · 2 评论 -
新石器上机题
求两个矩阵的乘法// 你必须定义一个 `main()` 函数入口。#include <iostream>#include <vector>//#include <gtest/gtest.h>using namespace std;template <typename T>vector<vector<T>> mu...原创 2020-06-12 09:07:53 · 175 阅读 · 0 评论 -
c++语言中类型的转换
// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdio.h"#include <string> #include <cstdlib>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ string str = "1234";原创 2017-03-06 15:11:36 · 318 阅读 · 0 评论 -
类的hello,world
写类的hello,world程序 如下#include using namespace std;#include class A{ protected: string a; public: A(){ a ="hello,world"; } string get_a(){原创 2017-03-14 19:09:08 · 356 阅读 · 0 评论 -
虚函数
学堂在线中郑莉老师对虚函数进行了详细的讲解具体的代码如下#include using namespace std;class Base1 {public: virtual void display() const; //虚函数};void Base1::display() const { cout << "Base1::display()" << endl;原创 2017-04-13 11:20:49 · 399 阅读 · 0 评论 -
20170413面试
今天面试了华捷艾米公司,在上地那。问了我模型的细节事情,我反问他了,结果他说涉及机密不给说,含糊地说是alexnet写的。只看到一台破服务器在那呜呜地响,也不知道是不是真和那哥们说的,有十几台英伟达p40的,并表示在跑集群还是自己写的。我说用mxnet就可以做到,这哥们说我们也用现成的。总体来讲,自我感觉吹牛的成分比较大,不是太靠谱。我大老远跑一趟不容易,结果就几分钟完事。我也是醉了。以后坚决先电原创 2017-04-13 19:03:18 · 731 阅读 · 0 评论 -
c++ 并行编程
本博客将看C++并行编程的例子首先看如何看#include #include using namespace std;int main(){ clock_t startTime,endTime; startTime = clock(); for (int i = 0; i < 10000000; i++) { i++; }原创 2017-05-02 17:30:52 · 17245 阅读 · 1 评论 -
浪潮笔试题
1.在计算机中,最适合进行数字加减运算的数字编码是____,最适合表示浮点数阶码的数字编码是______。2.如果主存容量为16M字节,且按字节编址,表示该主存地址至少应需要__位。3.中断响应时间是指_ ______从发出中断请求到进入中断处理所用的时间4.表达式a*(b+c)-d的后缀表达形式为_________。5.若二叉树的先序遍历序列为ABDECF,中序遍历序列DBEAF原创 2017-05-24 08:54:28 · 11343 阅读 · 0 评论 -
条件编译的使用
条件编译是一种很好的编译技巧。使用条件编译,让有的部分相当于没有条件编译的例子如下。#include #include using namespace std;#define ISint main() {//形式2 将#if 1 变成0 看效果#if 1 int k = 0;#else string k = "stringk";#endif cout << "t原创 2017-04-25 15:08:58 · 356 阅读 · 1 评论 -
二进制问题
底层的程序员一定会遇到二进制的问题#include #include #include using namespace std;//整数转换为string类型string int2str(int n){ stringstream ss; string s; ss<<n; ss>>s; return s;}//将十进制整数转换为二进制string int原创 2017-03-28 17:09:38 · 580 阅读 · 0 评论