![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
我的大名王二狗
机器人算法,行为规划,人工智能,嵌入式,深度强化学习,ros,ubuntu,Linux
展开
-
【C++位运算】用一个32位的数实现两个16位数的互不干扰存取
有一个uint_t的数据和一个int16的数据,存储空间只有一个int,需要把两个拼凑成一个,有两个方法:方法一:使用了异或运算,将需要更改的位清零,变动了数据的连续性,打破了负数的存储规则,所以专门用了一位来区分正负#include <stdio.h>#include <stdlib.h>#include <iostream>#include <cmath>uint8_t label ;int16_t height ;int.原创 2020-11-20 20:04:44 · 901 阅读 · 0 评论 -
C++ std::atomic
std::atomic是C++的原子操作,属于并发中的线程安全类型,可以理解成数据自带mutex锁,各线程不冲突。#include <atomic>#include <thread>#include <list>std::atomic_int g_iCount = 100;void threadfunc1(){ while (g_iCount > 0) { printf("threadfunc1 g_iCount:%原创 2020-10-09 15:36:26 · 743 阅读 · 1 评论 -
如何高效从stl::vector中删除元素
千万不要一边循环一边erase!!!方法:stl::remove_if配合vector.eraseauto end =std::remove_if(line_vector.begin(), line_vector.end(), [&](float p) { return IsLightPoint(p); }); line_vector.erase(end, line_vector.end());bool IsLightPointCloud2D(float point_cl原创 2020-09-07 20:34:25 · 516 阅读 · 0 评论 -
operator的两种用法
1 重载运算符 2 操作符隐式转换#include <iostream>using namespace std;class num{protected: int m_a; int m_b;public: num(int a, int b):m_a(a),m_b(b){} num operator + (const num& n ) { this->m_a += n.m_a; this->m_b += n.m_b; return *this原创 2020-08-10 11:10:31 · 1327 阅读 · 0 评论 -
Effective C++笔记(持续更新中。。。)
1 C++是一个多重范型编程语言,我们应该将其视为一个语言联邦(同时支持面向过程、面向对象、函数形式、范型形式、源编程形式的语言)主要包括四大块:C语言、面向对象C++、模板C++、STL。...原创 2020-07-27 19:45:09 · 165 阅读 · 0 评论 -
C++关键字详解(持续更新中。。。)
1 explicit作用:防止类构造函数的隐式自动转换只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).https://blog.csdn.net/guoyunfei123/article/details/89003369...原创 2020-07-22 11:39:14 · 91 阅读 · 0 评论 -
【Leetcode刷题篇】(十九)两数相加-链表
Leetcode题目编号:2/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public...原创 2020-03-02 11:40:20 · 154 阅读 · 0 评论 -
【Leetcode刷题篇】(十八)奇偶链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* o...原创 2020-03-01 21:22:34 · 146 阅读 · 0 评论 -
【Leetcode刷题篇】(十七)分隔链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* p...原创 2020-02-29 23:44:37 · 181 阅读 · 0 评论 -
new与delete那些事儿
https://blog.csdn.net/qq_40416052/article/details/82493916这个老哥解释的很清爽原创 2020-02-25 23:56:12 · 129 阅读 · 0 评论 -
【Leetcode刷题篇】(十二)移动零
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。链接:https://leetcode-cn.com/problems/move-zeroes示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)方法一...原创 2019-07-28 21:41:45 · 274 阅读 · 0 评论 -
【数据结构与算法】(八)O(n^2)排序
一 .选择排序: 从头到尾遍历i次数组,每次选出最小的,放在最前面的第i个位置(和原来的第i个位置的元素交换)。性能: 选择排序首先有个大循环,用来标记当前推进到第几个位置;其次有个内循环,用来选出最小的元素并做交换,因此,选择排序时间复杂度恒为O(n^2)。空间复杂度恒为O(1)。代码:template<typename T>void s...原创 2019-07-12 10:17:13 · 182 阅读 · 0 评论 -
【Leetcode刷题篇】(六)移除元素
题目:https://leetcode-cn.com/problems/remove-element/submissions/给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素...原创 2019-03-19 11:37:07 · 183 阅读 · 0 评论 -
【Leetcode刷题篇】(十三)删除排序数组中的重复项II
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii示例1:给定 nums = [1,...原创 2019-07-29 11:19:20 · 223 阅读 · 0 评论 -
【Leetcode刷题篇】(十四)颜色分类
题目:给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。链接:https://leetcode-cn.com/problems/sort-colors此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,...原创 2019-07-29 15:31:34 · 187 阅读 · 0 评论 -
【Leetcode刷题篇】(十五)验证回文串
题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。链接:https://leetcode-cn.com/problems/valid-palindrome说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a ca...原创 2019-07-30 16:32:28 · 105 阅读 · 0 评论 -
【Leetcode刷题篇】(十六)长度最小的子数组
题目:给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4...原创 2019-07-30 17:18:19 · 395 阅读 · 0 评论 -
【Leetcode刷题篇】(十 一)无重复字符的最长子串
题目:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。class Solution: def lengthOfLongestSubstring(self, s: str) -> int:示例...原创 2019-06-13 16:26:35 · 164 阅读 · 0 评论 -
【Leetcode刷题篇】(一)两数之和
题目:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。https://leetcode-cn.com/problems/two-sum/description/示例:给定 nums = [2, 7, 11, 15], target = 9因为 ...原创 2018-12-04 16:35:18 · 202 阅读 · 0 评论