C/C++开发笔记
总结自己在c/c++开发过程中遇到的问题及学习的相关知识
程序猿的杂货店
这个作者很懒,什么都没留下…
展开
-
VS统计项目源码行数
输入:b*[^:b#/]+.*$原创 2020-05-18 15:41:45 · 308 阅读 · 0 评论 -
C# 深入理解堆栈、堆在内存中的实现
尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(GarbageCollection),但是我们还是应该了解它们,以优化我们的应用程序。同时,还需要具备一些基础的内存管理工作机制的知识,这样能够有助于解释我们日常程序编写中的变量的行为。在本文中我将讲解栈和堆的基本知识,变量类型以及为什么一些变量能够按照它们自己的方式工作。转载 2016-12-01 14:12:46 · 20353 阅读 · 9 评论 -
C++中 vector结合迭代器实现增删操作!
删除vector里面多个符合条件的元素!原创 2014-07-30 20:52:43 · 1518 阅读 · 0 评论 -
类模板template的使用!
// 类模板的使用// 类模板中 类成员函数的申明与定义// 结构体模板的使用// 函数模板的使用原创 2014-08-01 19:01:11 · 865 阅读 · 0 评论 -
C++虚函数简单的例子
#include #include using namespace std;class A{public: A(){}; virtual void Fun() { cout<<"this is A"; }};class B : public::A{public: B(int n) { number_=n; } inline void Fun(原创 2014-08-26 12:26:47 · 1163 阅读 · 0 评论 -
windows窗口程序打印信息
场景:在Qt里,不能使用std::cout,所以使用下面的函数就可以打印cout的内容了#include #include static void OpenConsole(){ AllocConsole(); HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); int hCrt = _op原创 2014-09-02 18:52:03 · 2108 阅读 · 0 评论 -
字符串越界问题
1 当我们使用字符串的时,原创 2014-09-03 20:12:34 · 7223 阅读 · 0 评论 -
获取指定文件所在的目录的三种方法
场景:指定一个文件路径,获取原创 2014-09-04 12:14:53 · 2265 阅读 · 0 评论 -
C++友元函数
场景:对于一个普通函数来说,是不可能访问类的保护类型的数据,如果要访问,必须声明为public(共有的),这就会导致任何外部函数都可以来访问和操作类的数据,在C++中利用friend修饰符,可以让你设定的函数访问和操作保护类型的数据。避免把类成员全部设置成public,最大限度的保护数据成员的安全。但 缺点是友元函数破坏了类的封装特性,虽然如此,但作为C++一个必要的知识点,我们还是有需要去了解一原创 2014-09-05 12:10:37 · 736 阅读 · 0 评论 -
单元测试 Google Test 使用
gtest 用法1 将gtest-1.5.0解压,拷贝gtest-1.5.0.zip\gtest-1.5.0\include下的gtest 到 include 目录下 添加包含库目录为 include2 将gtestd.lib拷贝到当前项目的lib目录下 ,链接库依赖项 添加 lib3 链接器 输入 附加依赖项gtestd.lib原创 2014-09-23 18:34:44 · 1834 阅读 · 0 评论 -
C++ 分离字符串里的大小写,数字,符号
要求:1 分离字符串里的大小写,数字,符号代码如下:#include "stdafx.h"#include <iostream>#include <string>原创 2014-09-23 18:37:28 · 2774 阅读 · 0 评论 -
C语言编译过程
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序-->可执行文件1.编译预处理 读取c源程序,对其中的伪指令(以#开头的指令)转载 2014-09-23 18:41:07 · 719 阅读 · 0 评论 -
如何获取一个文件后缀?
场景: 在做图片格式判断和字符大小转换//日期:2014年9月12日 下午 17:23//用到函数//strrchr() 从字符的最后一个位置开始读起//find() 查找字符串原创 2014-09-23 19:04:18 · 850 阅读 · 0 评论 -
关于 C++ 框架、库和资源的一些汇总列表
关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz 发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Te转载 2014-10-24 10:06:06 · 983 阅读 · 0 评论 -
C++库资源
转载地址: http://bbs.linuxpk.com/thread-14066-1-1.html 标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。 (1) Dinkumware C++ Library 参考站点:h转载 2014-10-24 12:25:20 · 663 阅读 · 0 评论 -
C语言符号及关键字详解
常用符号 定义优先级 高,低() 最高[] 最高 . 最高 把n值赋给结构中的某个元素 例如: Emp.wage=123.23 ! 逻辑非 !0 为真 ~原创 2015-09-27 15:48:58 · 1619 阅读 · 0 评论 -
再再论指针【网络搜集】
再再论指针篇首语 指针是C语言规范里面一项核心内容,指针具有与生俱来的优势,利用指针可以写出许多短小精悍、效率极高的代码,它是C语言一把无可替代的利器,凭着这把利器,C语言与其它高级语言相比至少在效率方面高人一筹。但是,由于指针的原理与使用方式跟人们通常的思维习惯有较大的差别,造成了指针比C语言其它概念难理解得多,这使得对指针认识不足成为了一种在C程序员中普遍存在的现象,这种不足必原创 2015-09-27 16:43:27 · 752 阅读 · 0 评论 -
C++ 堆和栈
全局,静态,new产生的变量都在堆中动态分配的变量在堆中分配 局部变量在栈里分配函数中声明的变量在栈中 用了new标示符在堆中 全局变量和static变量都在全局区程序为栈变量分配动态内存,在程序结束时为栈变量分配的空间将自动释放;而为堆变量分配的空间则不会自动释放,若在程序中没有没有释放堆变量,它将一直占用系统内存。堆栈是一种执行“后进先转载 2016-11-21 16:36:41 · 460 阅读 · 0 评论 -
Windows下C语言的Socket编程例子(TCP和UDP)
1 TCP Server端#include "stdafx.h"#include #include #pragma comment(lib,"ws2_32.lib")int main(int argc, char* argv[]){ //初始化WSA WORD sockVersion = MAKEWORD(2,2); WSADATA wsa转载 2016-11-23 17:02:28 · 887 阅读 · 0 评论 -
VS 2010 提示:无法启动调试器,必需属性“VSInstallDir”缺失或为空
网上下载了vs项目,我用vs2010打开,发现提示解决方法: 项目->属性,如图所示,改成v100原创 2017-08-10 17:07:15 · 11681 阅读 · 0 评论 -
windows多线程详解
在一个牛人的博客上看到了这篇文章,所以就转过来了,地址是http://blog.csdn.net/morewindows/article/details/7421759本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底转载 2017-08-10 17:57:28 · 519 阅读 · 0 评论 -
C/C++开发: 位域计算详解 + 例子
1 定义一个位域的结构体typedef struct{ unsigned char a:3;/*0-2位*/ unsigned char b:2;/*3-4位*/ unsigned char c:3;/*5-7位*/}Demo; /*一个字节长度*/void show1010(int val){ printf("%d : ",val); for(int原创 2017-08-21 11:50:07 · 1173 阅读 · 0 评论 -
C/C++ 开发总结 -- 【持续更新】
此文章将记录我在C/C++ 开发过程中遇到的问题及相关知识技术点 ,方便自己以后查阅.....博客列表https://blog.csdn.net/column/details/17040.htmlC++中 vector结合迭代器实现增删操作!删除vector里面多个符合条件的元素!2014-07-30 20:52 类模板template的使用!// 类模板的使用 // 类模板中 类成员函数的申明与...原创 2017-08-21 11:53:46 · 742 阅读 · 0 评论 -
C/C++:VS2012使用C代码
在vs2012里面使用c代码1 创建testc.h 和testc.c文件 vs 创建testc.c,创建cpp文件时改后缀为c2 文件内容如下testc.h#ifndef _TESTC_H_#define _TESTC_H_#include #include int mysum(int a,int b);#endiftestc.c#includ原创 2017-08-23 14:25:00 · 1519 阅读 · 0 评论 -
C/C++开发: 函数指针用法
函数名和变量名一样,也对应一个地址,实际上,每个函数在编译后都对应一串指令,这些指令在内存中的位置,就是函数的地址和变量地址一样,我们可以用一个指针类型来表示函数的地址,指针变量也是变量void (*p) (int)变量名: p变量类型: 函数指针 ,记作 void (int) *返回值为void,参数为int的函数函数指针,表示的是函数代码的地址函数指针,可用于表示调用目标函数函数名,就表示函数的地址对于函数指针来说,&号可以省略原创 2017-08-24 10:19:09 · 630 阅读 · 0 评论 -
C/C++: 操作符重载案例
1 案例:+ ,- ,++, --// 操作符重载.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"class Fraction{public: Fraction(): num(2),den(1){ //默认值 } Fraction(int n,int d):num(n),den(d){ } ~Fraction();原创 2017-08-24 15:20:06 · 828 阅读 · 0 评论