
c/c++
c/c++ 编程技巧和总结笔记
人生有味是清欢
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
g++编译器的参数
g++ 编译器参数解析linux 命令 time,查看程序运行时间time ./a.outg++ --help # 查看所有的编译命令参数解释-Debug程序中#ifdef DEBUG -I引入include文件,比如,-Iinclude-L将头文件或库文件,加载到搜索目录中-l比如-lhello ,引用动态库helloLD_LIBRARY_PATH=查找动态库的路径-W输出编译器判定的报错信息-Wall输出所有的报错信息原创 2022-05-08 09:44:02 · 484 阅读 · 0 评论 -
cmake ninja
1 创建最简单的cmake工程#include <iostream>using namespace std;int main(int argc, char const *argv[]){ cout << "hello world of cmake " << endl; return 0;}cmake_minimum_required(VERSION 3.5)project(hello_cmake)add_executable(he原创 2022-05-07 10:15:15 · 496 阅读 · 0 评论 -
c++单例模式
总结:1 全局只有一个实例化的类2 单例模式的类,必须构造函数私有。即,不可以使用new进行该类的初始化。3 单例模式的类,必须提供一个可以让外部访问的接口(且是static类型的),通常这样的接口,都是公有的。增加静态私有,该类的指针4 静态变量,类外初始化。单例模式类型:懒汉。 饿汉其中懒汉模式:表示:当使用的时候,才进行创建class A {public: static A* getinstance(){ if (a == nullptr) { a = new A;原创 2022-05-05 22:41:50 · 410 阅读 · 0 评论 -
c++ 学习之const_cast 去掉const属性转换
c++ 学习之const_cast 去掉const属性转换#include <iostream>using namespace std;struct A{ /* data */ int data;};int main(int argc, char const *argv[]){ const A a = {2000}; A a1 = const_cast<A&>(a); cout << a1.data原创 2022-01-30 12:37:39 · 2311 阅读 · 0 评论 -
c++ opengl 环境配置+demo
编译指令参照g++ 的编译顺序: 从右边到左边, 所以很多情况下,如果编译出错,需要调整一下编译顺序.否则就会出现,xxx找不到.还有一点,需要注意:linux 环境下,需要创建软链接,实现opengl的库的搭建sudo ln -s xxxxxxxxxxxx /usr/bin/libGL.so{ "tasks": [ { "type": "cppbuild", "label": "C/C++: g++ 生成活动文件"原创 2022-01-25 18:21:40 · 1333 阅读 · 0 评论 -
c++强制类型转换操作符
强制类型转换操作符:static_cast 任意的静态类型转化,又叫显式类型转化,子类,父类都可以相互转化dynamic_cast 子类转化成父类。在转化过程当中,会对所有的类型进行安全检查,鱼和熊掌不可兼得。所以效率方面,会有几分弱。const_cast 主要进行const修饰符的去除或者添加工作。使用const_cast去除const限定的目的不是为了修改它的内容使用const_cast去除const限定,通常是为了函数能够接受这个实际参数 int a = 10; const原创 2022-01-21 00:10:08 · 907 阅读 · 0 评论 -
c / c++传递数组
c / c++传递数组print函数中的a[] ,此时退化为一个指针。必须传递进入一个len,表示数组的长度#include <iostream>using namespace std;void print(int a[],int len){ for (int i = 0; i < len; i++) { /* code */ cout << a[i] << " "; } co原创 2022-01-17 20:33:37 · 1097 阅读 · 0 评论 -
c++ 实现template 模板类实现
c++ 实现template 模板类实现#include <iostream>using namespace std;template<class T>class Myarr{private: /* data */ int mcapacity; int msize; T * paddr;public: Myarr(int size); void pushback(T & data); void pus原创 2022-01-16 20:39:00 · 468 阅读 · 0 评论 -
c++ g++ 如何编译class文件
将类,通过分离出主程序后, 如何用g++编译呢?比如Person.hPerson.cppmain.cpp其中:main是主程序,但是类在Person.h Person.cpp中得以实现;g++ Person.cpp main.cpp - o main此时不必编译Person.h文件,因为在Person.cpp中一定写了:#include "Perosn.h"这样的话g++会自动寻找当前文件夹下的头文件参考如下文献:https://www.cnblogs.com/iloveyou原创 2022-01-16 17:44:32 · 444 阅读 · 0 评论 -
c++ template学习笔记
#include <iostream>using namespace std;// 模板的类外声明:template <class T> class Person;template <class T> void print_t(Person<T> &s);template<class T>class Person{private: /* data */ T mh; T mw;publ原创 2022-01-16 17:26:27 · 400 阅读 · 0 评论 -
shell编程 各种疑难杂症
1basename是当前文件的名字,去掉目录和后缀 #basename - strip directory and suffix from filenames,即去除文件名的目录部分和后缀部分。# 获取当前shell脚本的名字basename $0 2dirname 获取当前脚本的绝对路径,不包含本文件的name3linux中shell变量$#,$@,$0,$1,$2的含义解释:变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process原创 2021-05-14 17:50:01 · 302 阅读 · 0 评论 -
perl语言学习 教程
perl语言是一个脚本语言更接近于c更接近于底层你要问我和python有什么区别?我也不知道。最近在看perl语言写的程序,就自己总结一下啦经常看到perl语法中 {} []这两个符号。但是我记得就知道试试标量 $ 开始, 如$a $b 是两个标量。数组 @ 开始 , 如 @a @b 是两个数组。哈希 % 开始 , %a %b 是两个哈希。但是[]是修饰一个匿名数组{}修饰一个匿名哈希。匿名正如其名一样,如果想打回原型,就应该知道这本身的数据是什么,如果是变量,就用$,如果是数组原创 2021-03-14 19:54:10 · 328 阅读 · 0 评论 -
VS2015环境搭建以及QT编译器和调试器配置
1 安装vs2015网上有很多大神的帖子,这里不再赘述需要注意的是:vs2015装好后,需要安装Qt VS Tools插件,具体怎么安装,这里不再赘述,大神做好了很多技术贴。2 安装Qt网上有很多大神的帖子,这里不再赘述Qt安装的时候,务必选择msvc2015,!!!否则要走弯路3 配置Qt的debuggers—安装wingdb确认以上几个软件均安装完毕后,在qt中的构建套件中配置好msvc2015的调试器这里可能遇到第一个问题,怎么获取wingdb?仅仅选择Debugging T原创 2020-10-21 22:13:24 · 3574 阅读 · 0 评论 -
qt各个历史版本下载
https://download.qt.io/new_archive/qt/原创 2020-08-15 15:00:25 · 1930 阅读 · 0 评论 -
充分解决:strcat函数未定义
#include<string.h>原创 2019-08-14 11:52:39 · 4494 阅读 · 0 评论