自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sbfksmq的博客

学习笔记

  • 博客(89)
  • 问答 (1)
  • 收藏
  • 关注

原创 删除除了指定文件夹外的所有文件夹

ls | grep -v filename |xargs rm -f

2019-03-09 18:24:15 422

原创 libcurl崩溃

在编译完libcurl的dll和lib后,使用如下// http.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#include <curl/curl.h>#pragma comment(lib,"libcurl.lib")int _tmain(int argc, _TCHAR* a...

2018-10-26 13:13:14 1529

原创 二叉树

#include#includetypedef struct Node{//结点类型 int data; struct Node* left; struct Node* right;}Node;typedef struct Tree{//二叉树的类型 Node*root;//指向根结点的指针 int count;//记录结点个数}Tree;//1 创建结点Node*Cr

2017-02-08 11:51:46 284

原创 delphi Controls Components 属性

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) mmo1: TMemo; scrlbx1: TScrollBox;

2017-01-12 16:57:27 1037

原创 vs2010 创建 ActiveX 控件

2016-10-29 16:13:38 577

原创 c++函数的几种关系

//#include"stdafx.h"#includeusing namespace std;class A{};class B:public A{};//class B {};class Base {public: void foo(void) {// virtual 必须写在基类里 cout << "Base::foo(void)" << endl; } virtu

2016-10-20 02:49:37 425

原创 特殊的类型转换(单参构造,运算符重载)

#include//#includeusing namespace std;class Test1{public: Test1(void){//无参构造 缺省构造 num = 0; } Test1(int n){ cout << "Test1::constructor" << endl; num = n; } int & value(){ return num

2016-10-20 02:16:47 417

原创 lambda

Capture 子句Lambda 可在其主体中引入新的变量(用 C++14),它还可以访问(或“捕获”)周边范围内的变量。1.[var]表示值传递方式捕捉变量var2.[=]表示值传递方式捕捉所有父作用域的变量(包括this)3.[&var]表示引用传递捕捉变量var;4.[&]表示引用传递方式捕捉所有父作用域的变量(包括this);5.[this]表示值传递方式捕捉当前的

2016-10-18 12:52:54 524

原创 delphi7 TADODataSet TDBGridExt 简单应用

unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, ComCtrls, GridsEh, DBGridEh, DBGridExt, StdCtrls, Buttons;type TFo

2016-10-15 19:11:05 849

原创 delphi7 TADOConnection TADODataSet 简单应用

unit DBOperation;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, DB, ADODB, MemoExt;{INSERT INTO [testDB].[dbo].[stu]([I

2016-10-15 15:47:54 2172

原创 delphi7 TActionManager TTreeView 简单应用

unit TreeView;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ActnList, XPStyleActnCtrls, ActnMan, StdCtrls;type TForm3 = class(

2016-10-13 17:59:15 719

原创 delphi7 TRzCheckTree TImageList 简单应用

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, Menus, StdCtrls, ExtCtrls, ComCtrls, RzTreeVw;type TForm1 = class(TFor

2016-10-09 13:33:12 1369

原创 delphi7 ADO 方式连接 sqlserver2008/2005 简单应用

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,ADODB, StdCtrls, DB;type TForm1 = class(TForm) btConnectDB: TButton; ADO

2016-09-30 15:04:53 8660

原创 delphi7 TGauge Tprogressbar 简单应用

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Gauges;type TForm1 = class(TForm) pbCount100: TProgress

2016-09-30 11:21:39 2550

原创 vs调试动态库的方法(图解)

首先 ,dll 是以MFC的方式生成的,并且为了在调试dll时方便,我把dll和测试程序(一个控制台类型,一个MFC类型)都建在了一个工程下,这样可以在修改dll时通过下面的步骤设置生成dll的输出目录(比较方便)。下面是我的dll工程的输出目录的配置,你可以输出dll到你的测试程序目录下使用dll的方法有两种,可以动态链接,这里使用的是静态链接 。静态

2016-06-17 18:43:41 11115

原创 函数重载

一 概念         同一作用域的一组参数列表不同,函数名相同的函数 这组函数叫          函数重载(C++允许定义相同名称的函数)  作用:重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,    避免了名字空间的污染,对于程序的可读性有很大的好处(一物多用)  参数列表不同:                1 参数类型不同

2016-06-16 02:23:52 328

原创 名字空间

名字空间的引入:  在C++中名称可以是变量 函数 结构体 类 及类的相关成员 使用第三方类库  时 极有可能出现名称冲突 c++利用作用域的特性引入了名字空间的概念  名字空间:名字空间是一种描述逻辑分组的机制             防止命名冲突 跨文件访问注意:名字空间 可以是全局的 可以是位于另一个名称空间中 不可以存在于代码块中1定义:

2016-06-16 01:59:12 428

原创 error LNK2001: 无法解析的外部符号 fatal error LNK1120: 1 个无法解析的外部命令(调用约定的问题)

问题背景:我在用MFC写的一个单文档的程序调用以MFC通过.def模块导出的DLL时出现了如下错误 error LNK2001: 无法解析的外部符号 "unsigned short __cdecl SearchCtrl(struct tagPARAMS &,short)" (?SearchCtrl@@YAGAAUtagPARAMS@@F@Z)1>E:\Test\TestMFCA\Deb

2016-04-14 09:45:50 4446

原创 简单的 winsock select模式

// WinSelectModel.cpp : 定义控制台应用程序的入口点。////server side ,select model/*Syntax:int select(_In_ int nfds,//Ignored. The nfds parameter is included only for compatibility with Ber

2016-04-03 19:22:30 1828 1

原创 简单的 Winsocket UDP 通信

// 服务端// UDP.cpp : 定义控制台应用程序的入口点。//1 为UDP通信,单例模式(饱汉式) ,收到客户端消息后发送服务器的时间//2 一些socket函数不兼容 预处理器定义里添加如下的宏//_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;//3 UDP为非

2016-04-03 00:46:07 2319

转载 _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)

处理办法:第一步:" #define _WIN32_WINNT 0x0502 "在StdAfx.h中添加上述宏定义。备注:必须在stdafx.h中所有#include 文件之前添加此代码。第二步:在StdAfx.h头文件里面加上#include 有关于平台的定义备注:如果StdAfx.h里面有了就不用加 #include 了!

2016-03-24 11:32:13 879 1

转载 如何解决标准C库的函数在vs上使用时出现的警告

那么如何搞定这些警告呢:方法一:将原来的旧函数替换成新的Security CRT functions。方法二:用以下方法屏蔽这个警告。1.在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:  #define _CRT_SECURE_NO_DEPRECATE2.#param warning(disable:4996)3.更

2016-03-23 09:23:15 541

原创 _T(x) _TEXT(x) L 代表什么?

首先  中   #ifdef  _UNICODE                    ....                    #define __T(x)      L ## x  //替换#else   /* ndef _UNICODE */                      #define __T(x)      x      //无替

2016-03-12 09:26:16 1044

转载 Visual Studio 路径宏

说明$(RemoteMachine)设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。$(References)以分号分隔的引用列表被添加到项目中。$(ConfigurationName)当前项目配置的名称(例如“Debug”)。$(PlatformName)当前项目平台的名称(例如“Win32”)。

2016-03-08 17:06:27 309

原创 GetPrivateProfileInt 读取配置文件

#include#includeusing namespace std;void main(){ char buffer[1024]={0}; GetModuleFileName(GetModuleHandle(NULL), buffer, sizeof(buffer)); //GetModuleFileName:Retrieves the fully qualified p

2016-03-07 17:24:06 6147

原创 简单的 winsocket TCP通信

//服务器#include#include // socket 所需要的头文件#pragma comment(lib,"WS2_32.lib")// link socket 库#define PORT 9999 #define BUFLEN 1024using namespace std;int main(){ WSADATA wsaData

2016-03-05 14:53:08 3093

原创 c# 委托

using System;using System.Collections.Generic;using System.Linq;using System.Text;//委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似namespace delegateExample{ delegate int Math(int x,int y);// 声明一个委托

2015-12-16 17:55:00 247

原创 M3:不要对数组使用多态

//Item M3:不要对数组使用多态#includeusing namespace std;class BST {public: BST(){} BST(int data):data(data) { } int data; friend ostream& operator<<(ostream& os, const BST rhs);};ostream& operator

2015-10-31 17:29:35 362

原创 条款55:让自己熟悉Boost

/*条款55:让自己熟悉Boost*//*boost是一个c++开发者集结的社群如果你想把你准备好的程序库加入boost里要考虑以下内容1 这一份设计和实现有多好?2 这些代码可跨编译器和操作系统吗?3 这个程序库有可能被它所设定的目标用户使用吗?4 文档是否清楚,齐备,而且精确?boost 程序库对付的主题非常繁多 区分数十个类目包括:1 字符串与文本处理,覆盖具备类型安全的

2015-09-30 11:01:00 323

原创 条款54:让自己熟悉包括TR1在内的标准程序库

/*条款54:让自己熟悉包括TR1在内的标准程序库*///c++standard 98年被标准委员会核准了,03年发布了一个不很重要的错误修正版 08年左右发布了 c++standard2.0 日期不确定的一版叫c++0x 指 200x版c++//c++0x 覆盖了某些有趣的语言新特性,但大部分新机能都是以标准程序库的扩充形式体现,我们知道的某些新的程序库机能被详细叙述在TR1的文档内Tech

2015-09-30 10:59:52 410

原创 条款53:不要轻忽编译器的警告

/*条款53:不要轻忽编译器的警告*/#includeusing namespace std;class B {public: virtual void f()const;};class D :public B {public: virtual void f();};//如果我们写到这里进行编译有一个警告。。vs报错了。。编译器试图告诉你:B中的f并未在D中

2015-09-30 03:13:51 285

原创 条款52:写了placement new 也要写Placement delete

/*条款52:写了placement new 也要写Placement delete*/#includeusing namespace std;//class Widget {};class Widget {public: //.. static void*operator new(std::size_t size, std::ostream&logStream)thr

2015-09-30 03:03:57 332

原创 条款51:编写new和delete时需固守常规

/*编写new和delete时需固守常规*///非附属对象必须有独立的大小 #includeusing namespace std;class Base{public: static void*operator new(std::size_t size) throw(std::bad_alloc); //..};// operator new (pseudocode):void

2015-09-29 15:56:27 281

原创 条款50: 了解new和delete的合理替换时机

/*条款50: 了解new和delete的合理替换时机*/#includeusing namespace std;//替换编译器提供的operator主要三个最觉的理由// 1 用来检测运用上的错误 2 为了强化效能 3为了收集使用上的统计数据static const int signature = 0xDEADBEEF;typedef unsigned char Byte;void

2015-09-29 13:54:51 288

原创 条款49:了解new-handler的行为

/*条款49:了解new-handler的行为*/#includeusing namespace std;//operator new 当无法满足某一内在分配需求时,它会抛出异常,返回NULL指针,某些旧式编译器目前也还那么做,也可以当operator抛出异常之前先调用一个·客户指定错误处理函数(new-handler),但客户必须调用set_new_handler,那是声明于的标准程序库函

2015-09-29 12:49:47 316

原创 条款48:认识template元编程

/*条款48:认识template元编程*/// Template metaprogramming (TMP,模板元编程):是以C++写成,执行于C++编译器内的程序#includeusing namespace std;/*templatevoid advance(IterT&iter,DistT d){ if(typeid(typename std::iterator_trait

2015-09-29 00:00:58 303

原创 条款47:请使用traits classes 表现类型信息

/*条款47:请使用traits classes 表现类型信息*///Traits 是一种技术,一个C++程序员共同遵守的协议,它的要求之一是:它对内置类型和用户自定义类型的表现必须一样好//advance 用来将某个迭代器移动某个给定距离#includeusing namespace std;templatevoid advance(IterT &iter,DistT d);//但s

2015-09-28 17:57:19 405

原创 条款46:需要类型转换时请为模板定义非成员函数

/*条款46:需要类型转换时请为模板定义非成员函数*/#includeusing namespace std;templateclass Rational{public: Rational(const T&numerator=0,const T&denominator=1):a(numerator),b(denominator){ } const T numerator()

2015-09-28 16:06:51 419

原创 条款45:运用成员函数模板接受所有兼容类型

/*条款45:运用成员函数模板接受所有兼容类型*///真实指针做得好的一点是支持隐式转换,子类指针->基类指针,非常对象指针->常对象指针#includeusing namespace std;class Top{};class Middle:public Top{};class Bottom:public Middle{};/*Top*pt1 = new Middle;//子类到基

2015-09-27 17:02:35 269

原创 条款44:将与参数无关的代码抽离template

/*条款44:将与参数无关的代码抽离template*///共性与变性分析,把两个类或函数中本质相同的代码进行抽离成另一个相同类别的结构中//在模板代码中,重复的部分是隐晦的//下面是一个支持矩阵运算的例子#include#includeusing namespace std;/*templateclass SquareMatrix{public: //.. void in

2015-09-27 16:12:19 337

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除