Karen_Lh
码龄11年
求更新 关注
提问 私信
  • 博客:117,744
    社区:733
    118,477
    总访问量
  • 16
    原创
  • 14
    粉丝
  • 5
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
加入CSDN时间: 2014-11-06

个人简介:1234

博客简介:

Karen的博客

查看详细资料
个人成就
  • 获得28次点赞
  • 内容获得8次评论
  • 获得106次收藏
  • 博客总排名1,469,023名
创作历程
  • 33篇
    2016年
  • 15篇
    2015年
成就勋章
TA的专栏
  • OpenCV
    4篇
  • 通信编程、MFC
    8篇
  • C++基础
    23篇
  • OSG基础
    2篇
  • MFC
    6篇
  • windows
    2篇
  • 算法
    3篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

90人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

一级指针还是二级指针作函数参数

一级指针存放变量的地址,指向的值是变量的内容。如int* p={1,2,3}, p=数组的首地址,*p=数组的第一个值;    二级指针存放一级指针的地址,指向一级指针。如int*p ={1,2,3}, int**pp=&p,pp=指针p的首地址,*pp=数组的首地址,**pp=数组第一个值1。 在作为参数传递时什么时候用一级指针,什么时候用二级指针?     一级指针作为参数传递时,
转载
博文更新于 2015.10.09 ·
1909 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

TCP/IP 网络数据封包和解包

服务器代码common.h#pragma once #define NET_PACKET_DATA_SIZE 1024 #define NET_PACKET_SIZE (sizeof(NetPacketHeader) + NET_PACKET_DATA_SIZE) * 10 #define SERVER_PORT 6000/// 网络数据包包头 struct
原创
博文更新于 2016.01.06 ·
3854 阅读 ·
0 点赞 ·
0 评论 ·
11 收藏

CString与int、float之间的转换

CString to int: 如下:CString str = "123";int i;i = atoi(str);CString to float: 如下:CString str="1.2";float f;f = atof(str);int、float to CString: 如下:int i=15;float f=1.1;CString stri="",strf="";s
原创
博文更新于 2016.10.09 ·
23611 阅读 ·
4 点赞 ·
1 评论 ·
18 收藏

机试小知识点(一)

32位操作系统有32根地址线,每根两种状态0/1,表示2的32次方个内存单元,每个内存单元占1个字节(OS只能对字节进行操作,位操作用位操作符),1G = 2^10M,1M = 2^10K,1K = 2^10B,2^32B = 4*2^10*2^10*2^10 = 4G知识点 1:class Base{public: virtual ~Base(){cout<<"~Base"<<endl
原创
博文更新于 2016.09.30 ·
618 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

机试小知识点(二)

知识点 1: char* ch = "123"; int a = atoi(ch);//字符串转换为整型 cout<<a<<endl;//123 int a2 = 456; char ch2[10]; itoa(a2, ch2, 10);//整型转换为字符串 cout<<ch2<<endl;//字符串456
原创
博文更新于 2016.09.27 ·
384 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++中的重载、重写(覆盖)、隐藏

一、重载 (1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。 二、重写 覆盖是指派生类函数覆盖基类函数(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。三、隐藏 “隐藏”是指派生类的函数屏蔽了与其同名的基类函数(1)不同的
原创
博文更新于 2016.09.26 ·
427 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

各种排序算法实现

/* 2016年7月7日20:30:37排序的目的:查找 排序是查找的前提(google搜索) 分类: 冒泡(稳定n^2) 插入(稳定n^2),从前往后依次插入到前面的有序部分,始终保持前面部分有序 选择(n^2),先从所有序列中选择最小的数字与第一个数字互换,再从余下的序列中寻找次最小值与第二个数字互换。。。 快排,先找第一个元素的确切位置,把
原创
博文更新于 2016.09.22 ·
325 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

String 类的实现 以及 Strcpy、Strcat函数的实现

class Stringg{public: Stringg(const char *str = NULL); Stringg(const Stringg &other); ~Stringg(); Stringg & operator = (const Stringg& other);private: char *m_data;};Stringg::Str
原创
博文更新于 2016.09.20 ·
792 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

malloc和new的区别

动态分配内存 new/delete,malloc/free,必须成对使用,否则内存泄露1、malloc()到底从哪里得到了内存空间? 答案是从堆里面获得空间。也就是说函数返回的指针是指向堆里面的一块内存。操作系统中有一个记录空闲内存地址的链表。当操作系统收到程序的申请时,就会遍历该链表,然后就寻找第一个空间大于所申请空间的堆结点,然后就将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。
原创
博文更新于 2016.09.13 ·
269 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

折半查找

非递归算法int binary_search(int* a, int len, int key){ int low = 0; int high = len-1; int mid; while (low <= high) { mid = (low+high)/2; if (key < a[mid]) high
原创
博文更新于 2016.09.13 ·
252 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++虚函数表

http://blog.csdn.net/haoel/article/details/1948051///虚函数表保存了虚函数的地址,虚函数表相当于一个指针数组class Base {private://非公有虚函数同样会存在子类的虚函数表中 int num; void real() {cout<<"Base::real"<<endl;} virtual void f()
原创
博文更新于 2016.09.11 ·
240 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

虚继承/虚基类

如果一个派生类D有多个直接基类B、C,而这些直接基类又有一个共同的基类A 代码 1:class A{public: A(){cout<<"A构造函数!"<<endl;} void out(){cout<<"A out"<<endl;} int flag;};class B : public A{public: B(){cout<<"B构造函数!"<<en
原创
博文更新于 2016.09.11 ·
382 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于构造函数的理解

代码 1(父类和子类都自定义构造函数):class father {public: father(int agee):age(agee) { cout<<"父类构造函数!"<<age<<endl; } int age;};class son : public father{public: son(int agee):father(a
原创
博文更新于 2016.09.10 ·
779 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

编辑框内容保存到txt,自动加载txt到编辑框

保存到IP和ADDR到 txtCFileDialog dlg(FALSE,_T("txt"),_T("addr.txt")); CString strAddr, strPort; CString strFile = dlg.GetPathName();//获取完整路径 GetDlgItemText(IDC_ADDR , strAddr);//获取指定ID的编辑框内容 G
原创
博文更新于 2016.09.09 ·
2917 阅读 ·
0 点赞 ·
0 评论 ·
15 收藏

前缀、中缀、后缀表达式

前缀、中缀、后缀表达式它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例: (3 + 4) × 5 - 6 就是中缀表达式 - × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式中缀表达式(中缀记法) 中缀表达式是一种通用的算术
转载
博文更新于 2016.09.09 ·
208 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MFC文档视图结构

doc文档类,view视图类,MainFrm框架窗口类1、文档对象 用于管理和维护数据,包括保存数据、取出数据以及修改数据等操作,在数据被修改以后,文档可以通知其对应的所有视图更新显示。2、视图对象 将文档中的数据可视化,负责从文档对象中取出数据显示给用户,并接受用户的输入和编辑,将数据的改变反映给文档对象。视图充当了文档和用户之间媒介的角色。3、框架窗口类 一个文档可能有多个视图界面,这就需要有框
原创
博文更新于 2016.09.09 ·
431 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

单文档程序添加OSG

1)设置包含目录、库目录和附加依赖项 2)复制MFC_OSG.h 和MFC_OSG.cpp到项目中 3)_View.h 中添加#include “MFC_OSG.h” 4)继续添加成员变量 public: cOSG* mOSG; HANDLE mThreadHandle; 5)_View.cpp 中添加消息WM_CREATE,在OnCre
原创
博文更新于 2016.09.09 ·
569 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

模态对话框和非模态对话框

出现的问题: 在MFC单文档Ribbon界面添加按钮,点击打开对话框,对话框打开关闭后,再打开中断1、在单文档程序中添加模态对话框: a. 资源视图/Dialog 右键插入Dialog b. 类视图/项目名右键类向导,添加新对话框类(基类CDialogEx) c. 资源视图/Ribbon添加类别、面板以及按钮,右键按钮添加事件处理程序,类列表选择CMainFrame(
原创
博文更新于 2016.09.09 ·
1103 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

单例模式

单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。 单件模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。图1单例模式(Singleton)结构图单例模式(Singleton)是几个创建模式中最对立的一个,它的主要特点不是根据用户程序调用生成一个新的实例,
转载
博文更新于 2016.09.05 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

螺旋矩阵

#include <iostream>#include <iomanip>using namespace std;// 输出螺旋矩阵void Matrix(int** matrix, int n){ //const int size = 10; // 矩阵大小 //int matrix[size][size] = {0}; int r = 0; int c =
转载
博文更新于 2016.09.02 ·
421 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多