一般写小代码时,常常是c和c++不分的,但是有时会遇到类型转换的问题,比如输入 string ,然而处理函数的参数是char*型,之间需要转换。收集一下网上资料,总结一下。因为还没有时间去研究stl源码,暂时先用着吧。
一、string转char*
1、std::string::c_str
Returns a pointer to an array that contains a null-terminated sequence of characters
返回一个数组指针,包含‘\0’的,
例子// strings and c-strings#include <...
1. 对齐原则。比如64位总线,每次寻址读取8B。编程时注意变量地址,尽量消耗总线最少的寻址次数。堆内存申请时,系统严格按照对齐原则分配,故而使用时候也尽量不要跨寻址边界。2. 需要的时候,可为了效率拷贝代码,虽然增加了代码体积,但这是值得的。尤其是for循环,若次数比较少,拆开亦无妨。3. 位运算中,-1右移,左边补1,故仍为-1;-1左移,右边补0,故不再为-1。4. 每次申请的堆内存,最好初始化,里面是垃圾数据,而并非为...
http://blog.csdn.net/autocyz/article/details/42391155提供了最简单的详解下列对本人近期开发中的一些心得体会进行摘抄1.string按照字符进行截取示例代码:string teststring = "#12313#kajlkfdsa";//通讯消息示例,结合string的内置函数特点,特意只取两个信息在一起 int tag[2]; tag[0] = teststring.find("#");//找到第一个#的位置 tag[1] = teststring.rfind("#");//找到最后一个#,此处刚好是第二个#的位置 string a,a2; a ...
先看两个demo:一.在类test1中调用函数print() ,把print()的函数指针传递给test1的函数指针参数test1.h: [cpp] view plain copy #include <stdio.h> #include <iostream> using namespace std; typedef void (*FUNP)(); class test1 { public: void fun1(FUNP p) { (*p)(); } }; main.cpp[cpp] view plain copy #include <stdio.h> #include "test1.h" void print(); int main() {...
Now, let‘s compile and run the above program to create our database test.db in the current directory. You can change your path as per your requirement.
$gcc test.c -l sqlite3
$./a.out
Opened database successfully
If you are going to use C++ source code, then you can compile your code as follows ?
$g++ test.c -l sqlite3
Here, we are linking our program with sqlite3 library to provide required func...
Microsoft Office Access是由 微软 发布的 关系 数据库 管理系统 。 Access 数据库 常应用于小型软件系统中, 比如: 生产管理 、 销售管理 、 库存管理 等各类企业管理软件,其最大的优点是:简单易学、使用灵活。 下面我们结合实例来详细说明,在VC MFC中Microsoft Office Access是由微软发布的关系数据库管理系统。Access数据库常应用于小型软件系统中,比如:生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:...
A: 空间1MB=1024KB 1KB=1024B 1B=8b
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
#include<unordered_map>
using namespace std;
typedef long long LL;int main(){cout<<256*1024*1024/4;return 0;
}
// freopen("testdata.in", "r", stdin);B: 卡片#include<iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queu...
参考:
博客1:http://blog.sina.com.cn/s/blog_bf397e780102w25k.html
目录:
第一部分:http原理简述
第二部分:websocket原理简述
第三部分:websocket与http的区别
第四部分:基于c/c++实现一个websocket协议栈
第三部分一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)
首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请...
1. -o -c -Wall -g
这些不用说了吧
2. -std=
指定语言标准,可能的值如下:3. -I[dir]
指定头文件搜索路径,请将[dir]替换成自己的目录,I表示大写的i,字体缘故,与l(L)简直一模一样。i表示include
4. -L[dir]
指定库文件搜索路径
6.-l[库名]
指定要链接的库。注意l是L的小写,不是i的大写。害,字体差评!
5. -fno-builtin
不使用内置函数。可在自己代码与内置函数名有冲突的时候使用。内置函数是以_ _builtin_为前缀的函数
6. ...
目录
1、static2、四种cast转换3、指针和引用的区别4、智能指针1、static
(类型,存储,初始化,作用域)
全局静态变量 存储于静态存储区,未经初始化的全局静态变量默认初始化为0,在声明它的文件之外不可见。局部静态变量 存储于静态存储区,默认自动初始化为0,作用域为局部作用域,当定义它的函数运行结束后,作用域结束。但变量并未被销毁,仍然留在内存中,只不过不能在对其进行访问,直到函数重新被调用,并且值不变。静态...
分享面试总结,涉及C++、算法、数据结构、操作系统、计算机网络、Linux、数据库、设计模式 等,后面持续更新~ 内容多为收集、整理总结,视频、书籍学习所得,如有错误请指出,万分感谢!!!
C++篇 — √2
21. C语言的编译链接过程? 源代码-->预处理-->编译-->优化-->汇编-->链接–>可执行文件
预处理 读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。包括宏定义替换、条件编译指令、头文件...
由于搜索出来的帖子,都是老版本的实验协程,很多老的代码已经失去参考性,并且很复杂,所以就自己研究了一下。 1 #include <iostream>2 #include <coroutine>3 #include <thread>4 5 template<typename _Ty>6 struct cocontext {7 struct promise_type;8 using _Hty = std::coroutine_handle<promise_type>;9 struct promise_type {
10 // 只要一个函数的返回值是 cocontext<T>,这个函数内存在co_await co_y...
Visual C++6.0安装bai的时du候与Visual Basic 6.0时都会出现这个问题,只需要在安装的时候进行一个小小的设置即可解决。
这里以Visual Basic 6.0为例(正需要装VB,VB和VC安装一样),前面安装不用多说,直到这一步...
点击 自定义安装 ,进入下面的这一步...
这一步是关键,点击 数据访问 ,右侧点击两次更改选项,来到下面这一步...
把其中的 ADO和RDS 这一栏的√去掉,然后点击确定继续。
至此,后面的操作就正常进行即可,...
1.变量的声明何定义有什么区别
变量的定义为变量分配地址和存储空间,变量的声明不分配地址。一个变量可以在多个地方声明,但是只在一个地方定义。同时加入extern修饰的变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明-很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。
int main()
{
extern int A;
//这是个声明而不是定义,声明A是一个已经定义了的外部变量
//注意...
1.std::endl 有一个作用是来冲洗buffer
2.声明语句时理解方式typedef
typedef char* pstring;
//这两看似一样,但是实际不同
const pstring cstr = 0; //char*为基本数据类型
const char* cstr = 0; //char 为基本数据类型,*变成声明3. const和constexpr
常量表达式:
constexpr 指定的一定是常量表达式(编译期可求值);
constexpr受到的限制,constexpr指针必须是nullptr或0,或者是存储于某个固定地址中的对象.const和constexpr的...