c/c++ 强制去掉转移字符的办法 以及 仿函数

#include<iostream>
#include<functional>

using namespace std;
using namespace std::placeholders;

//去掉转移字符的方法
void main()
{
 //比如我门要打开qq
 //第一种
 string str = "C:\Program Files\QQ\Bin\QQ.exe";
 system(str.c_str());
 //有转移字符的存在是不是很蛋疼呢
 //接下来我们强制去掉转义字符
 //R"()"  可以强制去掉括号的转移字符  是不是很爽
 string str2 =R"( "C:\Program Files\QQ\Bin\QQ.exe")";
 system(str2.c_str());

cin.get();
}

struct MyStruct
{
 void add(int a)
 {
  cout << a << endl;
 }
 void add2(int a, int b)
 {
  cout << a + b << endl;
 }
 void add3(int a, int b,int c)
 {
  cout << a + b+c << endl;
 }

};
//这个是 仿函数
void main23()
{
 MyStruct  struct1;
 auto func = bind(&MyStruct::add, &struct1,_1); //函数指针 直接用别人的成员函数
 //参数  加实例化  加 参数个数  即可绑定
 func(100); //fun是函数指针

auto func2 = bind(&MyStruct::add2, &struct1, _1,_2);//表示占位
 func2(100, 20);

auto func3 = bind(&MyStruct::add3, &struct1, _1, _2, _3);
 func3(10, 20, 50);
 //void(MyStruct*p)(int a) = &MyStruct::add;
 cin.get();
}

时间: 2024-09-28 22:54:11

c/c++ 强制去掉转移字符的办法 以及 仿函数的相关文章

C++字符串与转移字符

先看以下代码: #include<iostream> #include<string> using namespace std; int main() { string str1("[\t]"); cout << str1 << endl; cout << "[\t]" << endl; cout << "[ ]" << endl;//[]里边有7个空

python之转移字符(学习笔记三)

python之转移字符(学习笔记三) 转义字符 \ 可以转义很多字符,比如 \n 表示换行, \t 表示制表符,字符 \ 本身也要转义,所以 \\ 表示的字符就是 \ ,可以在Python的交互式命令行用print打印字符串看看: 命令: >>>print 'he\'s a boy.' >>>print 'I\'m learning\nlinux.' >>>print '\\\n\\' 截图: 如果字符串里面有很多字符都需要转义,就需要加很多 \ ,为

YII实现Memcache故障转移的配置办法

YII在默认配置下连接Memcache失败时会报错,要想实现故障转移就要改一下配置和代码 1.首先修改一下YII的 caching/CMemCache.php,我的版本是 1.1.7 找到 $cache->addServer($server->host,$server->port,$server->persistent,$server->weight,$server->timeout,$server->status); 改为 $cache->addServe

WinCE将开始那里的“挂起”隐藏,去掉,禁止的办法

在我们WINCE工程编译的release目录的shell.reg的HKEY_LOCAL_MACHINE\Explorer添加suspend子键来控制 [HKEY_LOCAL_MACHINE\Explorer] "RecycleBinSize"=dword:A "ShowExt"=dword:0 "ShowSys"=dword:0 "UseCompatibleBGImage"=dword:1 "UseRecycleBi

C语言的 (强制类型转换) 以及 &#39;字符字面值&#39;

C语言的显式/隐式类型转换,都有一个中间变量的存在,原数据的类型.内容都不变. 以下代码,都用GCC编译. 1 #include<stdio.h> 2 3 int main() 4 { 5 printf("%d %d\n", 'a', sizeof((int)'a')); //输出为97,4. sizeof的作用对象为一个int型中间变量 6 7 char c = 255; 8 printf("%d\n", c); //输出-1. char型的c已溢出,

转移字符

今天看到这个 out.println("open(\"jd.jsp\",\"_self\")"); 其中open中 这个\"\"不是很明白 求详细的说一下 \"这个是转义字符,用来表示双引号["],因为在java中两个双引号之间的部分表示为字符串,就好比123是int,但是"123"就是字符串.那么现在回到你的问题,机器不能理解人的意思,如果不是用\",它会认为"op

mysql去掉字段字符中间空格

mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数. (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例: SQL Code复制内容到剪贴板 update `news` set `content`=replace(`content

使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法 ——转载

一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误 百思不得其解啊,java源代码在MyEclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时就会出现上述的错误,导致项目编译失败.这个问题还是第一次遇到,还好在这里http://capslk.iteye.com/blog/1419958看到了解决问题的办法. 二.解决办法 解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符

cp覆盖源文件提示去掉y/n的办法!

今天复制东西时候又在一次的出现覆盖提醒了,虽然有想到是alias的问题,但是还是希望能找到其他的办法. 皇天不负苦心人,终于让我找到了.现在整理下给大家看! cp时候如果有相同的文件,会提示overwrite y/n的提示,这是因为alias的缘故: alias cp='cp -i' -i, --interactive               prompt before overwrite 覆盖前提示.正是因为这个原因,所以即使cp中加了-f参数也还是会提示. 方法一:既然知道原因,那就好解