
C++
超速前行
这个作者很懒,什么都没留下…
展开
-
Eigen快速入门
Eigen快速入门一个简单的例子#include #include "Eigen/Dense"using namespace std;using Eigen::MatrixXd;void fun0(){ MatrixXd m(2,2); m(0,0) = 3; m(1,0) = 2.5; m(0,1) = -1;原创 2018-01-09 10:53:29 · 1289 阅读 · 0 评论 -
c\c++中比较两个字符串或string对象是否相等
在写程序的过程中,经常会遇到要比较两个字符串是否相等的情况。如果要比较的对象是char*字符串,则利用 int strcmp(const char* s1,const char* s2) 当s1<s2时,返回为负数; 当s1==s2时,返回值= 0; 当s1>s2时,返回正数。即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同...转载 2018-08-20 09:57:32 · 18509 阅读 · 2 评论 -
C++强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast
c强制转换与c++强制转换static_cast、dynamic_cast、const_cast、reinterpret_caststatic_castc强制转换与c++强制转换c语言强制类型转换主要用于基础的数据类型间的转换,语法为: (type-id)expression//转换格式1 type-id(expression)//转换格式2c+...转载 2018-08-17 14:12:49 · 185 阅读 · 0 评论 -
C++const_cast用法
const_cast是一种C++运算符,主要是用来去除复合类型中const和volatile属性(没有真正去除)。变量本身的const属性是不能去除的,要想修改变量的值,一般是去除指针(或引用)的const属性,再进行间接修改。用法:const_cast(expression)通过const_cast运算符,也只能将const type*转换为type*,将const type&...转载 2018-08-19 22:47:04 · 628 阅读 · 0 评论 -
c++ Lambda函数学习
c++ Lambda函数学习或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio 早已提供了对 lambda 表达式的支持。在 GCC 4.7 ...转载 2018-08-12 10:09:15 · 274 阅读 · 0 评论 -
typedef
typedefs defined inside a class are “part of the class”, that is to say the typedef isn’t visible/accessible outside the class functions unless you fully qualify it by class::typedefname Additionally...原创 2018-08-11 10:47:09 · 137 阅读 · 0 评论 -
C++智能指针 shared_ptr
C++智能指针 shared_ptr使用方法:成员函数何时需要使用 shared_ptr ?自定义释放器(函数)使用 shared_ptr 的注意事项shared_ptr 作为被保护的对象的成员时, 小心因循环引用造成无法释放资源.小心对象内部生成 shared_ptr小心多线程对引用计数的影响与 weak_ptr 一起工作时, weak_ptr 在使用前需要检查合法性sh...转载 2018-08-10 17:16:58 · 382 阅读 · 0 评论 -
C++ 11 创建和使用 unique_ptr
C++ 11 创建和使用 unique_ptrunique_ptr 不共享它的指针。它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的任何标准模板库 (STL) 算法。只能移动unique_ptr。这意味着,内存资源所有权将转移到另一 unique_ptr,并且原始 unique_ptr 不再拥有此资源。我们建议你将对象限制为由一个所有者所有,因为多个所有权会使...转载 2018-07-13 23:12:08 · 330 阅读 · 0 评论 -
C++ const用法 尽可能使用const
C++ const用法 尽可能使用constC++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。const 修饰变量#include<iostream>using namespace std;int main(){ ...转载 2018-07-13 09:53:57 · 143 阅读 · 0 评论 -
C++中引用与指针的区别
请说出C++中引用和指针的区别。(华为、腾讯、阿里等)参考答案:(1)当引用被创建时,它必须被初始化。而指针则可以在任何时候被初始化。 (2)一旦一个引用被初始化为指向一个对象,它就不能被改变为对另一个对象的引用。而指针则可以在任何时候指向另一个对象。 (3)不可能有NULL引用。必须确保引用是和一块合法的存储单元关联。进一步解析:指针和引用都是 C++ 中的基本语...转载 2018-07-13 09:06:09 · 174 阅读 · 0 评论 -
typename的用法
在C++中typename一般用来声明模板的模板参数(template parameter):template&amp;lt;typename T&amp;gt; class X; //T是一个模板参数但是还有一个关键的用法。首先是两个概念:2.1 qualified name 例如:std::cout, std::endl;这样含有作用域符号(::)的就是限定名, 当我们用using声...转载 2018-07-13 08:56:20 · 590 阅读 · 0 评论 -
Eigen Matrix 详解
Eigen Matrix 详解在Eigen中,所有的matrices 和vectors 都是模板类Matrix 的对象,Vectors 只是一种特殊的矩阵,行或者列为1.Matrix的前三个模板参数Matrix 类有6个模板参数,现在我们了解前三个足够。剩下的三个参数都有默认值,后面会探讨,现在不管他。 Matrix 的三个强制的模板参数:Matrixtypename S原创 2018-01-09 17:37:18 · 81407 阅读 · 4 评论 -
void类型和void* 的用法
void的作用 c语言中,void为“不确定类型”,不可以用void来声明变量。如:void a = 10;如果出现这样语句编译器会报错:variable or field ‘a’ declared void。 在C语言中void 常常用于:对函数返回类型的限定和对函数参数限定 (1)对函数返回类型的限定:当函数不需要返回类型是必须用void 来限定返回类型,限定了函数的返回...转载 2018-08-20 15:07:29 · 1384 阅读 · 0 评论